...
För att skapa releaser används Maven och Mavens release-plugin. Kontrollera att följande kod finns i rot-pom'en.
Info | ||
---|---|---|
Kodblock | ||
| ||
<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.1</version> <configuration> <autoVersionSubmodules>true</autoVersionSubmodules> <tagNameFormat>v@{project.version}</tagNameFormat> <localCheckout>true</localCheckout> </configuration> </plugin> </plugins> </pluginManagement> </build> |
För att Mavens deploy plugin ska veta var den ska deploya releaserna skall följande finnas i projektets root pom (eller i parent till root pom). Url:erna kan man sedan sätta i den lokala (eller Jenkins) Maven settings filen (se kommande exempel)
...
Kodblock | ||
---|---|---|
| ||
<distributionManagement> <repository> <id>release-nexus</id> <name>Release Nexus</name> <url>${releases-nexus-url}</url> </repository> <snapshotRepository> <id>snapshot-nexus</id> <name>Snapshot Nexus</name> <url>${snapshot-nexus-url}</url> </snapshotRepository> </distributionManagement> |
För att releasepluginen ska kunna pusha till remote git måste url:er till git konfigureras i projektets root pom. Exempel:
Kodblock | ||
---|---|---|
| ||
<scm>
<url>http://github.com/skltp/vp</url>
<connection>scm:git:https://github.com:443/skltp/vp.git</connection>
<developerConnection>scm:git:https://github.com:443/skltp/vp.git</developerConnection>
<tag>HEAD</tag>
</scm> |
Maven settings fil (~/.m2/settings.xml) bör sedan sättas upp enligt nedan för att peka ut var dependencies skall hämtas (via mirror) och vart den skall deploya filerna (Till Ineras Nexus i exemplet nedan) samt användaruppgifter till Ineras Nexus (i sektionen "servers").
...