如何将环境变量传递给由 Jenkins Job DSL 创建的 MultibranchPipelineJob?

Ass*_*lov 7 jenkins jenkins-pipeline

我正在使用 Jenkins Job DSL创建一个MultibranchPipelineJob。我想将一些环境变量传递给作业,但我无法从文档中弄清楚如何做到这一点。

kat*_*ash 1

您可以将它们作为参数传递,如下所示:

parameters {
    stringParam("MyVariable1", "my-value1")
    stringParam("MyVariable2", "${my-dynamic-value2}")
}
Run Code Online (Sandbox Code Playgroud)

然后使用参数或环境(两者作用相同)在作业中使用它们,如下所示:

echo "my vars are ${parameters.MyVariable1} or ${env.MyVariable2}"
Run Code Online (Sandbox Code Playgroud)

  • MultibranchPipeline Job 不再支持参数 (4认同)
  • @xbmono - 您可以使用文件夹属性插件来设置环境变量,该文件夹中的所有作业都可以访问该变量。https://wiki.jenkins.io/display/JENKINS/Folder+Properties+Plugin 我们实际上不再使用 MultiBranch 管道作业。我们编写了一个 DSL 作业,它将充当多分支管道作业 - 它将查看 git 分支并根据需要创建简单的管道作业。希望这可以帮助。 (2认同)