Step
suppose you need to develop a feature,when you finish the feature ,you need to release the jar to Nexus,and other projects will depend on your jar file.
- cut a feature branch based on your develop branch, when you finish the feature,you need to run the UT
- push your changes to feature branch, pull the code both on feature branch and develop branch. merge the develop branch code to your feature branch. mvn clean install passed
- merge the feature branch to develop branch. mvn clean install passed
- cut a release branch base on develop branch, like release-3.0.0
- pull the code and change the pom version to 3.0.0
- add the <distributionManagement> configuration into pom.xml on your project. add the <servers> configuration to your setting.xml if miss
- push the code and mvn deploy
- add a tag on release branch.
- Check the jar on Nexus http://nexus.com/nexus/index.html
reference
distributionManagement:
<distributionManagement>
<!--This element is for releasing to nexus.
The id element should match id in settings.xml file (xpath servers/server/id) which defines authentication credentials -->
<repository>
<id>release</id>
<name>releases</name>
<url>http://nexus.com/nexus/content/repositories/releases</url>
</repository>
<!-- Publish snapshots here -->
<snapshotRepository>
<uniqueVersion>false</uniqueVersion>
<id>snapshots</id>
<name>snapshots</name>
<url>http://nexus.com/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
servers:
<servers>
<server>
<id>release</id>
<username>xxxx</username>
<password>xxxxx</password>
</server>
<server>
<id>snapshots</id>
<username>xxxx</username>
<password>xxxx</password>
</server>
</servers>