【问题标题】:Jenkins: Let a job wait while another job is running詹金斯:让一个工作等待另一个工作正在运行
【发布时间】:2018-09-13 14:11:09
【问题描述】:

我有一组组件,一个是基础组件 (A),所有其他 (B1 .. Bn) 都依赖于基础组件。

我对每个组件都有 Jenkins 作业,这些作业由各自存储库上的 SCM 更改触发。现在我想配置一个 Bx 组件的作业,如果基础组件 A 当前正在构建,则等待它,以便将 A 的最新构建合并到它自己的构建中。

我查看了“限制并发构建”插件,但我认为在这种情况下我不能使用它。我还找到了代码 sn-ps 来检测是否正在运行另一个特定作业。但是,我如何让当前的工作等到另一个完成?

【问题讨论】:

    标签: jenkins continuous-integration


    【解决方案1】:

    试试Build Blocker 插件,它完全符合您的需求:您可以在Blocking jobs 部分为Bx 组件的每个作业指定A 组件的作业名称。

    【讨论】:

    • 确实,它看起来正是我所需要的。不幸的是,我还没有找到如何在声明性 Jenkinsfile 中使用它。不过接受你的回答是正确的。
    • 哦,它是General部分的一部分,所以必须在Pipeline部分之前的作业中设置。
    • 所以我认为它仍然适合你的任务:)
    • 是的,只需要弄清楚如何在 DSL 作业中设置设置。解决方案是jenkinsci.github.io/job-dsl-plugin/#path/freeStyleJob-blockOn
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 2013-02-13
    相关资源
    最近更新 更多