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

时间:2017-08-15 15:17:00

标签: jenkins jenkins-pipeline

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

2 个答案:

答案 0 :(得分:2)

MultibranchPipeline Job 不再支持参数

您可以使用文件夹属性插件来设置您的环境变量,该文件夹中的所有作业都可以访问这些变量。 https://plugins.jenkins.io/folder-properties/

但是,MultiBranch 管道作业存在很多性能问题,因此我们放弃了多分支管道作业。我们编写了一个 DSL 作业,它将充当多分支管道作业 - 它将扫描 git 分支并根据需要创建简单管道作业。

答案 1 :(得分:1)

您将它们作为参数传递:

parameters {
    stringParam("MyVariable1", "my-value1")
    stringParam("MyVariable2", "${my-dynamic-value2}")
}

然后使用参数或环境(两者同等地工作)在作业中使用它们:

echo "my vars are ${parameters.MyVariable1} or ${env.MyVariable2}"