Apache Maven
Effectuer une libération
Recherche…
Introduction
Le plugin Maven standard utilisé par un Release Process est le plugin maven-release - la configuration de ce plugin est minimale:
SCM dans le pom de Maven: Le processus de publication interagira avec le contrôle de code source du projet - cela signifie que nous devons définir l'élément "scm" dans notre fichier pom.xml. L'élément "scm" pour une version release doit contenir suffisamment d'informations Découvrez l'étiquette qui a été créée pour cette version.
Remarques
Remarque: veillez à utiliser le plug-in 2.5 ou une version ultérieure de maven pour éviter les problèmes liés au mode Maven. Le processus de libération
mvn release:clean
La commande ci-dessus effectuera les opérations suivantes: Supprimez le descripteur de version (release.properties) supprimez tous les fichiers POM de sauvegarde.
mvn release:prepare
La prochaine partie du processus de publication est la préparation de la version; Cela va: effectuer des vérifications - il ne doit y avoir aucune modification non validée et le projet ne doit dépendre d'aucune dépendance SNAPSHOT modifier la version du projet dans le fichier pom en un numéro de version complet (supprimer le suffixe SNAPSHOT) - exécuter les suites de test du projet valider et pousser les modifications créer la balise hors de ce code non versionné SNAPSHOT augmenter la version du projet dans le pom - dans notre exemple - 0.0.2-SNAPSHOT valider et pousser les modifications
mvn release:perform
La dernière partie du processus de publication est la réalisation de la version; Cela va: extraire le code de la version de SCM et déployer le code publié Cette deuxième étape du processus repose sur la sortie de l'étape Prepare - the release.properties.
POM.xml pour effectuer la publication dans le référentiel Nexus
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.codezarvis.artifactory</groupId>
<artifactId>nexusrelease</artifactId>
<version>0.0.5-SNAPSHOT</version>
<packaging>jar</packaging>
<name>nexusrelease</name>
<url>http://maven.apache.org</url>
<scm>
<connection>scm:git:[email protected]:isudarshan/nexuspractice.git</connection>
<url>scm:git:[email protected]:isudarshan/nexuspractice.git</url>
<developerConnection>scm:git:[email protected]:isudarshan/nexuspractice.git</developerConnection>
<tag>HEAD</tag>
</scm>
<distributionManagement>
<!-- Publish the versioned snapshot here -->
<repository>
<id>codezarvis</id>
<name>codezarvis-nexus</name>
<url>http://localhost:8080/nexus/content/repositories/releases</url>
</repository>
<!-- Publish the versioned releases here -->
<snapshotRepository>
<id>codezarvis</id>
<name>codezarvis-nexus</name>
<url>http://localhost:8080/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>perform</goal>
</goals>
<configuration>
<pomFileName>${project.name}/pom.xml</pomFileName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>