我使用Jenkins构建Maven Java项目并将它们部署到Nexus存储库。我也使用Git,尽管我更习惯Subversion,所以我的Git知识是有限的。Jenkins/Git增量Maven项目版本
我想詹金斯/ Maven来:
- 合并特性分支到集成分支
- 构建合并代码,运行单元测试
- 如果他们通过,增加Maven的版本号
- 推合并代码到原始的整合分支
- 将工件部署到Nexus存储库
我收集Git合并可以实现如此:http://twasink.net/2011/09/20/git-feature-branches-and-jenkins-or-how-i-learned-to-stop-worrying-about-broken-builds/
我也读了很多关于maven-release-plugin
。
我不确定如何完全达到上述结果。如果我将SCM细节硬编码到每个项目的POM中,那么maven-release-plugin
只会在存储库而不是Jenkins的本地存储库上运行吗?
如果我使用让Jenkins将环境变量传递给Maven来指定版本号的解决方案,那么我希望在我的IDE中有本地版本解析问题。
查看[maven version plugin](http://mojo.codehaus.org/versions-maven-plugin/)'mvn versions:use-next-releases'或'mvn versions:set -DnewVersion = xyz' – 2012-03-21 20:36:10
Hi ,我尝试了mvn版本:set -DnewVersion = xyz,但是当部署到Nexus的工件仍然具有旧版本号集时,尽管我可以在日志中看到该变量已传递给Maven。 – 2012-03-22 08:37:04
你说得对,因为你推送原始来源(编译前)。你必须从jenkins工作区推送源代码... – 2012-03-22 08:52:37