Estoy usando Jenkins para construir proyectos Maven Java y desplegarlos en un repositorio Nexus. También uso Git, aunque estoy más acostumbrado a Subversion así que mi conocimiento de Git es limitado.Incrementando la versión del Proyecto Maven con Jenkins/Git
me gustaría Jenkins/Maven para: rama de la característica
- se funden en la rama de integración
- Construir fusionada código, unidad de ejecutar las pruebas
- Si pasan, incrementan el número de versión Maven
- push código fusionado a la rama de integración del origen
- Implementar artefacto en el repositorio de Nexus
RECOLECTO la fusión Git se puede lograr de este modo: http://twasink.net/2011/09/20/git-feature-branches-and-jenkins-or-how-i-learned-to-stop-worrying-about-broken-builds/
También he leído mucho sobre el maven-release-plugin
.
No estoy seguro de cómo exactamente lograr los resultados anteriores. Si codifico los detalles de SCM en el POM de cada proyecto, ¿no actuará el maven-release-plugin
solo en el que en el repositorio en lugar del local de Jenkins?
Si uso una solución para que Jenkins le pase una variable de entorno a Maven para que especifique el número de versión, entonces esperaría tener problemas de resolución de versión local en mi IDE.
Ver [complemento de la versión de maven] (http://mojo.codehaus.org/versions-maven-plugin/) 'versiones de mvn: versiones de use-next-releases' o' mvn: set -DnewVersion = xyz' –
Hola , Probé versiones de mvn: set -DnewVersion = xyz pero cuando el artefacto que se implementa en Nexus parece tener el número de versión anterior, aunque puedo ver en los registros que la variable se pasó a Maven. –
Tiene razón, porque empuja las fuentes originales (antes de la compilación). Tienes que empujar las fuentes desde el espacio de trabajo de jenkins ... –