svn hudson jenkins parameterized

svn - ¿Es posible reemplazar toda la Url del Repositorio con una cadena parametrizada en Hudson/Jenkins?



parameterized (6)

En Hudson / Jenkins, ¿es posible reemplazar toda la cadena en la URL del Repositorio del Módulo de Subversion con un parámetro String? No quiero simplemente reemplazar solo la versión o algo así, quiero reemplazar toda la url.

Entonces, cuando ejecuto la compilación, obtengo un aviso para la URL y coloco algo como "http: //scm.work.corp/svn/com.work.package/tags/project-4.0.0 .RELEASE "y lo verificaría y construiría.

Ser capaz de sustituir las partes "com.work.package" y "project-4.0.0.RELEASE" sería igual de aceptable. Básicamente quiero que sea un trabajo que pueda construir cualquier versión.


Puedes hacerlo, pero no puedes hacer que Jenkins administre svn por ti. Cree una compilación parametrizada, con sus cadenas, luego, en el paso de ejecución, haga una svn co ${parameter_you_selected} además de cualquier otra cosa que sean sus pasos de compilación (llame a las secuencias de comandos ant, makefiles, rakefiles, etc.)


Sí tu puedes. Pero no puede hacer que Jenkins / Hudson controle el SVN para ver los cambios. Incluso con parámetros en su lugar, eso no funcionó para mí adecuadamente. Pero si supervisa el SVN desde un trabajo que no tiene parametrizada la URL del repositorio, haga que ese trabajo active un trabajo indirecto que pase todo el URL del repositorio como parámetro, luego haga que el trabajo en sentido descendente utilice el parámetro URL del repositorio, entonces parece que funciona .

Esto es lo que hacemos para nuestro material de construcción. Tenemos un trabajo que puede construir el producto desde SVN, basado en la URL del repositorio con el que inicia el trabajo. Entonces tenemos una cantidad de trabajos desencadenantes que monitorean ciertas ramas; cuando se nota un cambio, inicia el trabajo de compilación y pasa su URL a él.


Si Hudson / Jenkins no conoce la URL de antemano, ¿cómo se supone que debe hacer una integración de compilación continua?

Y, ¿cómo hace Hudson / Jenkins una actualización si sigues cambiando la URL? Deberá pedirle a Hudson / Jenkins que realice una nueva compra cada vez o que use el comando svn switch .

Todo el propósito de una herramienta como Hudson / Jenkins es hacer compilaciones continuas que no quiere que haga. Ya que no está haciendo compilaciones continuas, ¿por qué molestarse con una herramienta como Hudson / Jenkins? ¿Por qué no escribir su propia secuencia de comandos Ant que va a pagar por lo que quiere y luego hacer la compilación?

Cada rama y cada módulo debe tener su propio trabajo de Hudson / Jenkins, y con el complemento de la plantilla, puede copiar fácilmente un trabajo para que sea la plantilla para otro trabajo. Por lo tanto, no es tan difícil configurar todas las construcciones que necesita.


Supongo que debería haber especificado mi caso de uso.

Entiendo el propósito de Hudson. La única razón por la que quiero esto es para que Hudson realice una compilación única para una versión que el usuario especifique, de modo que un complemento que usemos (sonar) pueda activarse sin tener que agregarlo en cada pom y conectarlo a cada fase. Hacemos nuestras versiones de forma manual, por lo que no queremos que Hudson se encargue de eso. Sin embargo, sí queremos informes de sonar sobre nuestras versiones, por lo tanto, este caso de uso.

Sin embargo, esto resultó ser más fácil de lo que esperaba. Realicé una compilación parametrizada y puse $ {PARAMETER} en la url del repositorio svn. Ahora, Jenkins me dio un error al decir que es una URL inválida, pero en realidad está haciendo las tareas de compilación como esperaba. Me alegro de haberlo probado a pesar de la advertencia de error.



Sí, puede, tuve el mismo problema pero lo cambié a $ VARIABLE y parecía funcionar. El único problema era que tenía que incluir un "." en el directorio del módulo Local. Me llevó mucho tiempo descubrir esto.