Suche…


Einführung

Das standardmäßige Maven-Plugin, das von einem Release-Prozess verwendet wird, ist das Maven-Release-Plugin. Die Konfiguration für dieses Plugin ist minimal:

SCM in Maven pom: Der Release-Prozess wird mit der Quellcodeverwaltung des Projekts interagieren. Das bedeutet, dass wir das Element "scm" in unserer Datei pom.xml definieren müssen. Das Element "scm" für einen Release-Build sollte genügend Informationen enthalten checkt das Tag aus, das für diese Version erstellt wurde.

Bemerkungen

Hinweis: Stellen Sie sicher, dass Sie Maven Release Plugin 2.5 oder höher verwenden, um Probleme mit dem Maven zu vermeiden. Der Freigabeprozess

mvn release:clean

Der obige Befehl führt Folgendes aus: Löschen Sie die Versionsbeschreibung (release.properties), und löschen Sie alle Sicherungs-POM-Dateien

mvn release:prepare

Der nächste Teil des Veröffentlichungsprozesses ist Vorbereiten der Veröffentlichung. Dazu werden einige Überprüfungen durchgeführt. Es sollten keine nicht festgeschriebenen Änderungen vorgenommen werden, und das Projekt sollte davon abhängen, dass keine SNAPSHOT-Abhängigkeiten die Version des Projekts in der POM-Datei in eine vollständige Versionsnummer ändern (SNAPSHOT-Suffix entfernen) Führen Sie das Projekt aus, um Testsuite-Commits auszuführen und die Änderungen zu übernehmen. Erstellen Sie das Tag aus diesem nicht mit SNAPSHOT-Code versehenen Code. Erhöhen Sie die Version des Projekts im POM

mvn release:perform

Der letzte Teil des Freigabeprozesses ist die Ausführung der Freigabe. Dies wird: checkout release tag von SCM erstellen und freigegebenen Code bereitstellen Dieser zweite Schritt des Prozesses basiert auf der Ausgabe des Vorbereitungsschritts - der release.properties.

POM.xml, um die Freigabe für das Nexus-Repository durchzuführen

<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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow