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>


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow