Jenkins多分支管道不会计划标记作业

时间:2017-10-23 10:05:10

标签: jenkins jenkins-pipeline multibranch-pipeline

我正在尝试让Jenkins的multibranch管道作业以与分支类似的方式构建标记。在Jenkins 2.73中(不确定何时添加了功能),Multibranch项目可以配置为从源存储库中检索分支和标记。最初我认为这对我的需求是完美的(我的Jenkinsfile现在可以在Jenkins的同一个地方构建开发或生产版本)。 Multibranch job with tags discovery configured

我有一个构建过程本身并且使用脚本管道非常愉快地运行,但是我的问题是,虽然分支作业完美地拾取我的触发器(Cron每周)并因此可以使用Git插件的notifyOnCommit功能触发(允许我每周清理构建,但是通过repo scan webhook构建对repo的提交),标记构建不会。

还有其他人遇到过这个吗?如果是这样,你有没有找到任何合理的方法解决它?

我脚本管道中的相关代码段(我尝试使用和不使用overrideIndexTriggers设置): properties( [ pipelineTriggers( triggers: [ cron('H 02 * * 7') ] ), overrideIndexTriggers(true) ] )

Polling configuration from a branch job generated by the multibranch pipeline seems fine 由multibranch管道从标签生成的作业不会收到相同的配置,奇怪......

multibranch管道扫描日志中有一条说明表明将永远不会自动安排标记: Processed 8 branches Checking tags... Checking tag testing ‘Jenkinsfile’ found Met criteria No automatic builds for testing Processed 1 tags [Mon Oct 23 09:55:00 UTC 2017] Finished branch indexing. Indexing took 8.1 sec Finished: SUCCESS

我的项目基于docker,我想每周运行一次发布版本,以便进行任何基本图像更改等。

有没有人对我可以做些什么来获得多分支项目来安排标签构建?

1 个答案:

答案 0 :(得分:5)

根据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上有一些工作

相关问题