我正在尝试让詹金斯(Jenkins)的多分支管道工作来以类似于分支的方式构建标签。在Jenkins 2.73(不确定何时添加功能)中,可以将Multibranch项目配置为从源存储库中检索分支和标签。最初,我认为这将非常适合我的需求(我的Jenkinsfile现在可以在Jenkins的同一位置进行开发或生产构建)。 配置了标签发现的多分支作业
我已经使用脚本管道成功构建并运行了构建过程,但是我的问题是,尽管分支作业完美地捕获了触发器(每周Cron),因此可以使用Git插件的notifyOnCommit功能进行触发(允许我每周清理构建一次) ,但也可以通过回购扫描webhook在提交给回购的基础上进行构建),而标记构建则不会。
还有其他人遇到吗?如果是这样,您是否找到任何合理的解决方法?
我的脚本管道中的相关代码段(我尝试使用和不使用overrideIndexTriggers设置): properties( [ pipelineTriggers( triggers: [ cron('H 02 * * 7') ] ), overrideIndexTriggers(true) ] )
overrideIndexTriggers
properties( [ pipelineTriggers( triggers: [ cron('H 02 * * 7') ] ), overrideIndexTriggers(true) ] )
从多分支管道生成的分支作业轮询配置似乎很好 ,由多分支管道从标签生成的作业没有收到相同的配置,这很奇怪。
在多分支管道扫描日志中有一条注释表明,标记永远不会被自动调度: 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
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,我想每周运行一个发布版本,以获取任何基础映像更改等。
有谁对我可以做什么来使多分支项目计划标签构建有任何想法?
根据JENKINS-47496的说法,不是自动触发针对发现的标签的构建。斯蒂芬·康诺利(Stephen Connolly)为您可能做的事情提供了解释和建议:
Stephen Connolly添加了评论-6天之前 默认情况下不会构建标签(因为否则可能会在签出存储库时产生构建风暴),更糟糕的是,内置的订单标签是不可预测的…并且当标签为时,您可能会有一个Jenkinsfile部署到生产环境中内置的。 branch-api中有一个称为BranchBuildStrategy的扩展点,如果实现,则可以决定是否构建标签。 有关如何创建此类扩展插件的起点,请参见https://github.com/jenkinsci/github-branch-source- plugin/pull/158#issuecomment-332773194 …我相信在https上有一些工作://github.com/AngryBytes/jenkins-build-everything- strategy-plugin
Stephen Connolly添加了评论-6天之前
默认情况下不会构建标签(因为否则可能会在签出存储库时产生构建风暴),更糟糕的是,内置的订单标签是不可预测的…并且当标签为时,您可能会有一个Jenkinsfile部署到生产环境中内置的。
branch-api中有一个称为BranchBuildStrategy的扩展点,如果实现,则可以决定是否构建标签。
有关如何创建此类扩展插件的起点,请参见https://github.com/jenkinsci/github-branch-source- plugin/pull/158#issuecomment-332773194 …我相信在https上有一些工作://github.com/AngryBytes/jenkins-build-everything- strategy-plugin