我想创建一个 Jenkins 作业,它将构建我所有的子项目 A、B、C 和 D。对于这些子项目中的每一个,如果 */develop 有变化,它应该检查 git 存储库, */release/xx 和 */master 分支。如果其中一个有变化,它应该为那个分支和那个子项目构建(并运行单元测试)。 我尝试使用多配置插件,它的工作方式非常接近我想要的。这适用于夜间构建,但不适用于 git-update-triggered 构建。我可以使用 shell 脚本完成这项工作,该脚本将在运行 Ant 之前克隆所需的存储库和分支。
主要问题是:我不能使用配置参数(如 SUB_PROJECT=A、BRANCH=release/1.0)作为 SCM 参数。当我将 git respository url 设置为“git@bitbucket.org:mine/$SUB_PROJECT.git”并将分支设置为“*/$BRANCH”时,它不会用值替换参数。
我不喜欢“jenkins-autojobs”或“jenkins-build-per-branch”解决方案,因为我不想创建 12 个以上的工作,而一个工作可以完成所有工作。
有什么解决办法吗?
最佳答案
这个问题与以下问题非常相似:
我推荐使用 Gerrit可以与 Jenkins 集成。提交的补丁作为分支实现,并通过 Jenkins 作业自动验证。
这可能不是一个完整的解决方案,但会将管理短期特性分支的问题外包出去。
关于git - 具有多个项目和 git 分支的 Jenkins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14484512/