2012-05-11 18 views
7

¿Puedo pasar los valores del parámetro de scm para Jenkins?Pasar valores de etiquetas scm a través de un parámetro por jenkins

en mi pom.xml, que tienen los valores establecidos por defecto:

<scm> 
    <connection> scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/ </ connection> 
    <developerConnection>scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_A/</developerConnection> 
</ scm> 

El problema es cuando se ejecuta con la otra rama, y ​​que desee ejecutar un lanzamiento por Jenkins (dentro del proceso de liberación, genera la etiqueta del proyecto) siempre obtendrá el valor que se define en pom.

Pasaría una nueva ruta en un parámetro específico en Jenkins que se configurará automáticamente en el proyecto scm pom.

Hice algunas pruebas al establecer un parámetro de cadena en un edificio parametrizado pero no reconoció los parámetros dados y el error en la construcción.

Otra forma era pasar a través de los "objetivos de liberación y opciones":

-X -Dresume=false release:clean release:prepare release:perform \ 
    -DscmConnection="scm:svn:https://172.10.10.30/svn/repPortal/branches/2012/Branch_B"-DscmDeveloperConnection = "scm: svn: https ://172.10.10.30/svn/repPortal/branches/2012/Branch_B "scm: validate 

persistió El error ...

Caused by: org.apache.maven.shared.release.ReleaseFailureException: 
    Missing required setting: scm connection or developerConnection must be specified. 

¿Hay una manera de hacer esto por lo que yo puedo decir por Jenkins?

Respuesta

1

Noté que las propiedades definidas para las conexiones SCM no son correctas. La propiedad para configurar la conexión SCM en la línea de comando es -Dproject.scm.connection y la conexión del desarrollador es -Dproject.scm.developerConnection.

+0

Así que probé las siguientes instrucciones en mis jenkins pero no modifiqué la etiqueta scm definida en mi pom.xml: -X -Dresume = false release: clean release: prepare release: perform -Dproject.scm.connection = scm: svn: https: //172.10.10.30/svn/repPortal/branches/2012/Branch_B -Dproject.scm.developerConnection = scm: svn: https: //172.10.10.30/svn/repPortal/branches/2012/Branch_B ¿Hay alguna otra manera de reescribir la configuración? – ricardo

+0

Agregue '-DdryRun = true' sin' release: perform' en el mismo comando. Echa un vistazo a los POM intermedios que maven crea. ¿Alguno de ellos se ve correcto? Además, considere ejecutar este comando dryRun en la línea de comandos sin Jenkins, ¿obtiene el mismo resultado? Por último, la versión 2.3 de 'maven-release-plugin' fue lanzada ayer e hicieron algunas correcciones relacionadas con el uso de SCM, que también pueden ser útiles. – user944849

Cuestiones relacionadas