Поиск…


Вступление

Стандартным плагином Maven, используемым процессом Release, является плагин maven-release-плагин - настройка для этого плагина минимальна:

SCM в Maven pom: процесс Release будет взаимодействовать с Source Control проекта - это означает, что нам нужно определить элемент scm в нашем pom.xml. Элемент «scm» для сборки релиза должен содержать достаточно информации для проверьте тег, который был создан для этой версии.

замечания

Примечание. Обязательно используйте maven release plugin 2.5 или новее, чтобы избежать проблем, связанных с maven. Процесс выпуска

mvn release:clean

Вышеприведенная команда выполнит следующее: удалите дескриптор выпуска (release.properties), удалите все резервные POM-файлы

mvn release:prepare

Следующая часть процесса выпуска - подготовка к выпуску; это будет: выполнять некоторые проверки - не должно быть никаких незафиксированных изменений, и проект должен зависеть от каких-либо зависимостей SNAPSHOT, изменяющих версию проекта в файле pom до полного номера выпуска (удалить суффикс SNAPSHOT) - в нашем примере - 0.0.1 запустите сборку тестовых наборов проектов и нажмите на изменения, создайте тег из этого кода, не относящегося к версии SNAPSHOT, увеличьте версию проекта в pom - в нашем примере - 0.0.2-SNAPSHOT совершите и нажмите изменения

mvn release:perform

Последней частью процесса выпуска является выполнение выпуска; это будет: тег релиза выписки из сборки SCM и развертывания выпущенного кода. Этот второй шаг процесса зависит от вывода шага Подготовки - release.properties.

POM.xml для выпуска релиза в репозиторий 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow