繁体   English   中英

詹金斯和多个git分支?

[英]Jenkins and multiple git branches?

我正在从事Jenkins工作,我需要它在同一个存储库中构建两个分支。 我怎样才能做到这一点?

考虑到Jenkins无法在两个版本的存储库上执行一个作业(这将获得两个不同分支的内容),我建议创建两个不同的作业,每个分支一个(使用Jenkins Git插件 )。

这个插件将为您构建每个分支: https//wiki.jenkins-ci.org/display/JENKINS/Multi-Branch+Project+Plugin

您也可以使用GitLab( https://wiki.jenkins-ci.org/display/JENKINS/GitLab+Plugin )/ GitHub( https://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin )插件,可以在提交代码时触发构建,然后构建被调用的分支。

您是否想要在同一个签出的工作区目录中构建两个分支?

如果在同一个工作空间目录中,您需要做的就是创建一个脚本,该脚本将检出一个分支,构建它,完成后,检查下一个分支然后构建它。

然后,这个单个脚本将成为单个Jenkins作业调用的脚本。

例如,您的构建脚本看起来像这样:

git clone url:repo.git workspace
cd workspace 
git checkout branchA
make
# now you're done building branchA
# next checkout branchB and run make
git checkout branchB
make
# now you are done building branchB

每个结帐将安装所需分支的文件。 这将相应地构建它。 但是,由于它们将共享相同的工作空间目录,这可能意味着第一个构建将生成新文件,然后在第二个构建运行时将出现这些文件。 我认为这是你想要的效果,因为你想在同一个工作区目录中构建两个分支。

更新:如果要为下一个版本提供新的工作区,请使用git clean -xdf。

如果你想要上面的并且想要Jenkins构建任何新分支的高级功能,并且只有在构建成功的情况下才合并它(即你想要两个主分支和两个构建),你可能想要考虑只是分配存储库和合并存储库之间的变化(git是为那种东西而构建的,虽然我还没有完全达到这个用途)。

所以你基本上有2个git存储库和两个jenkins构建,你可以配置git插件从每个存储库中的任何分支构建并合并到该存储库的master。 因此,每个存储库在此配置中的作用类似于分支。

这是我们的计划,当我们从1.x版本系列开始新版本2.x时,无论如何都是fork。 我们将看到它在实践中的运作方式。

后来,迪恩

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM