COMANDOS PARA SU UTILIZACIÓN
Se recomiendo utilizar estos comandos con el IDE cerrado y por línea de comandos para evitar bloqueos de directorios.Los comandos para usar la release son los siguientes y en el siguiente orden:
mvn release:clean Despues de ejecutar prepare se quedan unos ficheros en local que se eliminan utilizando el clean.
mvn release:prepare Este comando modifica los poms, comita a svn y crea el tag.
mvn release:perform -Dusername=developer -Dpassword=developer -DuseReleaseProfile=false Después de crear el tag con prepare este comando generará la release. Despues ya podemos ejecutar mvn deploy para subir todos nuestros jars a archiva.
SI EL PASO PREPARE O EL PASO PERFORM DAN ALGÚN FALLO SE USARÁ ROLLBACK PARA VOLVER A LA VERSIÓN ANTERIOR
mvn release:rollback En el caso de que al finalizar el release:prepare haya errores hay que ejecutar el rollback que elimina los cambios en local y la subida al trunk. Luego a mano se debería eliminar el tag ya que este no lo borra rollback.
Cosas a tener en cuenta:
Al realizar el comando "perform" se descarga en new-distribution-api/target el tag que se va a utilizar para hacer el deploy sobre tu repositorio de artefactos. Este directorio hay que limpiarlo a mano ya que a veces queda ahí.
Si falla el prepare se puede usar rollback sin problema, pero si falla el perform pero ya ha subido algún artefacto a archiva y usamos rollback nos encontraremos que la próxima vez que se intente realizar el perform de esa misma versión dará un mensaje de conflicto. Hay que eliminar a mano de archiva los jars subidos antes del error.
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-release-plugin</artifactid>
<version>2.5.1</version>
<configuration>
<autoversionsubmodules>true</autoversionsubmodules>
<allowtimestampedsnapshots>true</allowtimestampedsnapshots>
<preparationgoals>clean install -DignoreSnapshots=true</preparationgoals>
<username>${svn.username}</username>
<password>${svn.password}</password>
<tagbase>http://TUSUBVERSION/TUPROYECTO/tags/</tagbase>
</configuration>
</plugin>
No hay comentarios:
Publicar un comentario