我正在使用Jenkins构建Maven Java项目并将其部署到Nexus存储库。我也使用Git,尽管我更习惯Subversion,所以我的Git知识有限。
我希望Jenkins/Maven能够:
我不确定如何确切地实现上述结果。如果我将SCM详细信息硬编码到每个项目的POM中,那么maven-release-plugin是否只会在该存储库上而不是Jenkins的本地存储库上执行?
如果我使用Jenkins传递环境变量给Maven来指定版本号的解决方案,那么我预计在我的IDE中会出现本地版本解析问题。
我希望Jenkins/Maven能够:
- 将特性分支合并到集成分支
- 构建合并的代码,运行单元测试
- 如果测试通过,增加Maven版本号
- 将合并的代码推送到原始的集成分支
- 将构件部署到Nexus存储库
我不确定如何确切地实现上述结果。如果我将SCM详细信息硬编码到每个项目的POM中,那么maven-release-plugin是否只会在该存储库上而不是Jenkins的本地存储库上执行?
如果我使用Jenkins传递环境变量给Maven来指定版本号的解决方案,那么我预计在我的IDE中会出现本地版本解析问题。
mvn versions:use-next-releases
或mvn versions:set -DnewVersion=x.y.z
。 - Andrzej Jozwik