Jenkins流水线: 如何在多分支项目构建后构建作业构建?

5

对于Pipeline Multibranch,特别是针对像GitHub Organization或Bitbucket Tream/Project这样的org. folders,是否可以定义在构建其他项目之后构建

例如:

properties([pipelineTriggers([upstream(
        threshold: hudson.model.Result.SUCCESS,         
        upstreamProjects: "../multibranch-job/master")])])

它能正常工作吗?它要求绝对路径还是相对路径?


你已经试过了吗? - StephenKing
@StephenKing 显然我在相对路径和特殊字符方面遇到了问题。 - luka5z
1个回答

12

显然,使用通用Pipeline、多分支或Org. Folders(如Bitbucket Team/Project)构建其他项目后,Build after other projects are built 功能正常工作。

我的问题与我引用错误路径的作业有关。

绝对路径:

在作业屏幕的上部分始终可以找到绝对路径。如果名称包含可能被Jenkins替换的特殊字符,则这尤其有用。

enter image description here

因此,properties 步骤应该如下所示:

properties([pipelineTriggers([upstream(
        threshold: hudson.model.Result.SUCCESS,         
        upstreamProjects: "t/multibranch-job-to-be-triggered/feature%2Ftest")])])

相对路径:

除了绝对路径外,您可以使用相对路径来引用任务,例如:

  • another-branch(另一个分支)
  • ../another-job/branch(../另一个任务/分支)

它对我没有起作用:它给了我以下错误: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:脚本不允许使用静态字段 hudson.model.Result SUCCESS - Dimitris
在“正在处理的脚本批准”页面中批准该字段后,它就可以正常工作了。 - Dimitris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接