首页 > 解决方案 > 带有传递参数的 Jenkins 钻石依赖关系

问题描述

我希望能够在我的构建之间设置依赖关系,如下所示:

B ---> D
^      ^
|      |
A ---> C

其中 A 传递了一个日期参数。传递给 B 和 C,然后传递给 D。

我知道有Parameterized Trigger Plugin。例如,这让我可以配置A:“完成后,运行BC使用我的参数”

但我不明白我是如何D等到两者完成B并传递参数的。C

我如何实现这一目标?

更多信息:A将定期运行,它有一个默认为当前日期的日期参数。我希望将此日期传递给下游作业,以防它们在第二天运行。

标签: jenkins

解决方案


我的解决方案是使用带有日期参数的参数化管道asof和以下管道脚本:

node {
    echo "${asof}"
    build(job: "A", parameters: [string(name: "asof", value: "${asof}")]) 
    parallel(
        "B": {
            build(job: "B", parameters: [string(name: "asof", value: "${asof}")]) 
        },
        "C": {
            build(job: "C", parameters: [string(name: "asof", value: "${asof}")]) 
        }
    )
    build(job: "D", parameters: [string(name: "asof", value: "${asof}")]) 
}

推荐阅读