小编典典

如何使用 GitHub Org Plugin 从 jenkins 管道 (jenkinsfile) 触发另一个作业?

all

如何从内部触发另一个作业的构建Jenkinsfile

我假设这项工作是同一个github 组织下的另一个存储库,一个已经有自己的
Jenkins 文件的存储库。

我还想仅在分支名称为 master 时执行此操作,因为触发任何本地分支的下游构建是没有意义的。

更新:

stage 'test-downstream'
node {
     def job = build job: 'some-downtream-job-name'
}

不过,执行时我得到一个错误

找不到名为 some-downtream-job-name 的参数化作业

我确信这项工作存在于 jenkins 中,并且与当前工作位于同一组织文件夹下。这是另一项有自己的工作Jenkinsfile

请注意,此问题特定于GitHub 组织插件,它会自动为您的 GitHub
组织中的每个存储库和分支创建和维护作业。


阅读 118

收藏
2022-07-08

共1个答案

小编典典

build首先,将步骤包装在node. 您的上游执行器将无缘无故地闲置。

其次,从多分支项目中,您可以使用环境变量BRANCH_NAME使逻辑以当前分支为条件。

第三,job参数采用绝对或相对作业名称。如果您给出一个没有任何路径限定的名称,那将引用同一文件夹中的另一个作业,在多分支项目的情况下,这意味着同一存储库的另一个分支。

因此,您要写的可能是

if (env.BRANCH_NAME == 'master') {
    build '../other-repo/master'
}
2022-07-08