在Jenkins中创建Multibranch Pipeline后,我可以轻松地告诉它轮询任何分支的更改或添加,它将自动为这些分支创建作业并构建这些分支。我告诉Multibranch工作也发现标签,因此它会自动为每个标签创建作业,这很棒。
Jenkins是否有一种干净的方式来自动构建这些标签,而不是我必须手动触发它们?如下所示,标签的作业就在那里,但我必须手动构建它。
答案 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”,“行为”,然后添加“高级克隆行为”。默认情况下,添加时,您会看到已选中“获取标签”。瞧!