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

azpvetkf  于 2023-06-28  发布在  Jenkins
关注(0)|答案(1)|浏览(126)

我正试图让Jenkins的多分支管道工作以类似于分支的方式构建标记。在Jenkins 2.73中(不确定何时添加了该功能),多分支项目可以配置为从源代码库中检索分支和标签。最初我认为这非常适合我的需要(我的Jenkinsfile现在可以从Jenkins中的同一个位置构建开发或生产版本)。

我有一个构建过程本身,并使用脚本管道运行得很愉快,但我的问题是,虽然分支作业完美地拾取了我的触发器(Cron每周),因此可以使用Git插件的notifyOnCommit功能(允许我每周清理构建,但也可以通过repo scan webhook在repo上提交构建),但标记构建却不能。
有其他人遇到过这个吗?如果是这样,你有没有找到合理的解决方法?
来自我的脚本管道的相关片段(我尝试使用和不使用overrideIndexTriggers设置):

properties(
  [
    pipelineTriggers(
      triggers: [
        cron('H 02 * * 7')
      ]
    ),
    overrideIndexTriggers(true)
  ]
)

[

2
由多分支管道从标记生成的作业不接收相同的配置,这很奇怪…
多分支管道扫描日志中有一条注解,提示永远不会自动计划标记:

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的,我想每周运行一次发布构建,以引入任何基础映像更改等。
有没有人知道我可以做些什么来让多分支项目安排标记构建?

zfycwa2u

zfycwa2u1#

根据JENKINS-47496的设计,不会自动触发对已发现标记的构建。Stephen Connolly为您提供了一个解释和建议:
Stephen Connolly添加了一条评论- 6天前
标签不是默认构建的(因为否则在 checkout 存储库时可能会有一场构建 Storm ),更糟糕的是,标签的构建顺序是不可预测的。你可能有一个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上有一些工作

相关问题