在多分支管道的任何/所有分支的 upstreamProjects 上触发管道

时间:2021-05-03 20:48:59

标签: jenkins jenkins-pipeline

如何在构建上游多分支管道的任何分支或标记时触发下游项目构建?

为了专门构建 master 分支,我已成功将其放入下游项目的 Jenksinsfile 中:

triggers {
    upstream(upstreamProjects: 'upstream-project/master', threshold: hudson.model.Result.SUCCESS)
}

但我希望我的工作在 upstream-projectany 分支构建时运行。我该怎么做?

我试过了

triggers {
    upstream(upstreamProjects: 'upstream-project', threshold: hudson.model.Result.SUCCESS)
}

triggers {
    upstream(upstreamProjects: 'upstream-project/*', threshold: hudson.model.Result.SUCCESS)
}

如果我查看项目的“配置”选项卡,两者都会显示错误,并且不会导致当前项目构建,例如upstream-project/master 建成。

实际上,我想在上游项目的标签(使用此 plugin)构建后触发该项目。我不知道,因此无法在 Jenkinsfile 中声明将来会添加哪些标签。但标签也显示为例如upstream-project/1.2.3 因此这个问题。

不想改动上游项目

我意识到我可以更改上游项目并添加以下内容:

build job: 'downstream-project', parameters: [
    string(name: 'Foo', value: 'Bar')
]

但我有意和设计地希望下游项目了解上游项目,反之亦然。否则答案是微不足道的:-)

声明性指令生成器

“管道语法”→“声明性指令生成器”似乎也只建议个别具体的现有分支作为建议。 Declarative Directive Generator suggestsions

我的尝试在“配置”下游项目时出错:

如果我例如尝试使用 pvm-api-service/* 如果我尝试“配置”管道,它看起来像这样:

pvm-api-service/* shows an error

0 个答案:

没有答案