Usando maven-release-plugin para la etiqueta y comprometerse a no origen
-
26-09-2019 - |
Pregunta
Cuando hago una liberación de mi proyecto, quiero compartir la fuente con un grupo más amplio de personas de las que hago normalmente durante el desarrollo. El código se comparte a través de un repositorio Git. Para ello, he utilizado la siguiente:
- repositorio público remota - liberado código es empujado aquí, cada semana o así ( http://example.com/public )
- depósito privado a distancia - Código de no liberación se empuja aquí, más que todos los días ( http://example.com/private )
En mi repositorio git local, me han definido los siguientes mandos a distancia:
origin http://example.com/private
public http://example.com/public
Actualmente estoy tratando de configurar el dispositivo de liberación-plugin Maven para gestionar versiones de las compilaciones, y para gestionar el etiquetado y empujando de código al repositorio público. En mi pom.xml, he enumerado el
<scm><connection>scm:git:http://example.com/public</connection></scm>
(La eliminación de esta línea provocará liberación mvn: preparar a fallar)
Sin embargo, cuando se llama
mvn release:clean release:prepare release:perform
Maven llama
git push origin tagname
en lugar de empujar a la URL especificada en el POM.
Así que las preguntas son:
- La mejor opción:? ¿Debo estar etiquetado y comprometerse en mi repo privada (origen), y empujando al público de forma manual
- ¿Puedo hacer Maven empuje para el repositorio que elijo, en lugar de morosos con el origen? Me pareció que era implícito en el requisito del elemento
en .
Solución
Liberar cuando el repositorio scm.connection es diferente al origen se fija en la versión 2.0 de maven-liberación-plugin (o los plugins Git asociados). Para cambiar a esta versión, he añadido lo siguiente a mi POM:
<project>
...
<build>
<plugins>
...
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
</plugin>
...
</plugins>
</build>
...
</project>
Por cierto, Maven estaba recogiendo versión maven-liberación-plugin 2,0-beta-9 como más reciente que 2,0.