有没有办法使用Multibranch Pipeline Jenkins插件自动构建标签?

时间:2017-11-06 22:05:32

标签: jenkins jenkins-pipeline

在Jenkins中创建Multibranch Pipeline后,我可以轻松地告诉它轮询任何分支的更改或添加,它将自动为这些分支创建作业并构建这些分支。我告诉Multibranch工作也发现标签,因此它会自动为每个标签创建作业,这很棒。

Jenkins是否有一种干净的方式来自动构建这些标签,而不是我必须手动触发它们?如下所示,标签的作业就在那里,但我必须手动构建它。

enter image description here

3 个答案:

答案 0 :(得分:7)

我会对此发表评论,但我没有足够的声誉。我相信这是Jenkins Multi-branch pipeline doesn't schedule tag jobs的副本。请在下面查看我的答案。

简而言之,如果您构建并安装https://github.com/AngryBytes/jenkins-build-everything-strategy-plugin处提供的Jenkins插件,那么您可以添加Build Everything策略,该策略将自动构建标记。

根据JENKINS-47496,不会自动触发已发现标记的构建。斯蒂芬康诺利为你可能做的事情提供了解释和建议:

  

Stephen Connolly添加了评论 - 6天前

     

默认情况下不构建标签(因为否则您可以使用   检查存储库时构建风暴)更糟糕的是,订单标记   将被内置是不可预测的...你可能有一个Jenkins文件   在构建标记时部署到生产中。

     

branch-api中有一个名为BranchBuildStrategy的扩展点   其中 - 如果实施 - 将允许决定是否构建标签。

     

请参阅   https://github.com/jenkinsci/github-branch-source-plugin/pull/158#issuecomment-332773194   关于如何创建这样的扩展插件的起点...我   相信在一个人身上有一些工作   https://github.com/AngryBytes/jenkins-build-everything-strategy-plugin

答案 1 :(得分:1)

正如@ tommy-ludwig所说,你需要一个额外的插件来提供构建策略;自他的原始帖子以来,Stephen Connolly发表了Basic Branch Build Strategies Plugin,其中包括a strategy to build tags

答案 2 :(得分:0)

如果像我一样,您不在乎标签是否显示在单独的选项卡上,而只是希望在构建各个分支时可见标签(这意味着将构建标签),那么为此:

在多分支管道的配置中,转到“分支源”,“ Git”,“行为”,然后添加“高级克隆行为”。默认情况下,添加时,您会看到已选中“获取标签”。瞧!