I use Jenkins to create Maven Java projects and deploy them to the Nexus repository. I also use Git, although I'm more used to Subversion, so my knowledge of Git is limited.
I would like Jenkins / Maven:
- Merging objects into the integration branch
- Build merged code, run unit tests
- If they pass, increase the Maven version number
- Incorporate merged code in a source integration branch
- Deploy the artifact to the Nexus repository
I understand that Git merging can be achieved this way: http://twasink.net/2011/09/20/git-feature-branches-and-jenkins-or-how-i-learned-to-stop-worrying- about-broken-builds /
I also read a lot about maven-release-plugin
.
I am not sure how to achieve the above results. If I rigidly set the SCM details in each POM project, will the maven-release-plugin
act only in this repository, and not in the local Jenkins local computer?
If I use the solution that Jenkins passes the environment variable to Maven to indicate the version number, then I expect that there will be problems with the local version in my IDE.
source share