perform - ¿Cómo configurar el proyecto de maven para implementar instantáneas y lanzamientos en Nexus?
maven release plugin example (3)
¿Cómo configurar el proyecto de maven para implementar instantáneas y lanzamientos en Nexus?
<distributionManagement>
<repository>
<id>InternalReleases</id>
<name>Internal Releases</name>
<url>http://192.168.16.232:8081/nexus/content/repositories/releases/</url>
</repository>
<repository>
<id>InternalSnapshots</id>
<name>Internal Snapshots</name>
<url>http://192.168.16.232:8081/nexus/content/repositories/snapshots/</url>
</repository>
</distributionManagement>
Esta configuración crea error en Eclipse 3.8 con m2e 1.2
Project build error: Non-parseable POM D:/Workspaces/W/Parent/pom.xml: Duplicated tag: ''repository'' (position: START_TAG
seen ...
Quiero que el artefacto se despliegue en el repositorio InternalSnapshots cuando la versión del pom tenga el sufijo -SNAPSHOT y se despliegue en el repositorio InternalReleases cuando sea RELEASE. Esto debería ocurrir usando el mismo archivo pom.xml y ejecutando el mismo comando mvn deploy
.
Ejemplo de configuración de pom.xml
<!-- http://maven.apache.org/pom.html#Distribution_Management -->
<distributionManagement>
<snapshotRepository>
<id>InternalSnapshots</id>
<name>Internal Snapshots</name>
<url>http://192.168.16.232:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>InternalReleases</id>
<name>Internal Releases</name>
<url>http://192.168.16.232:8081/nexus/content/repositories/releases/</url>
</repository>
</distributionManagement>
Fragmentos de .m2 / settings.xml para la instalación predeterminada de Nexus
<server>
<id>thirdparty</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>InternalReleases</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>InternalSnapshots</id>
<username>deployment</username>
<password>deployment123</password>
</server>
Es necesario distinguir entre las versiones y el repositorio de instantáneas. <distributionManagement>
solo permite un <repository>
y un <snapshotRepository>
hijo.
Puedes hacer ambas cosas.
Agregue el plugin de versión 2.5.3
Ejecuta lo siguiente:
mvn deploy clean: release release: prepare release: perform