作业播种器创建一个管道作业,并使用作业dsl设置环境变量,如下所示,该管道作业触发另一个作业(例如job2),而后者又触发另一个作业(例如job3)。我希望在触发的作业中访问种子作业中设置的环境变量。
pipelineJob("job1"){
description("job1..")
concurrentBuild(false)
environmentVariables(
globalEnv + [TEMP_ENV1 : 'true',
TEMP_ENV2 : 'true'
]
)
definition {
cps {
script(
"""
job1script()
"""
)
}
}
}
我想访问job3中的TEMP_ENV1和TEMP_ENV2,但在此作业中两者均为空。我有一个签入脚本,哪个job3执行了它,但失败了,例如
if (env.TEMP_ENV1) { }
答案 0 :(得分:0)
您应该使用构建步骤(https://jenkins.io/doc/pipeline/steps/pipeline-build-step/)调用作业,并将它们作为参数传递:
build(
job: "myjob2",
parameters: [
string(name: 'TEMP_ENV1', defaultValue: TEMP_ENV1, description: 'Temp env var 1')
],
propagate: false
)