【发布时间】:2021-12-17 21:10:52
【问题描述】:
我正在使用 Jenkins 脚本化管道并且无法理解如何将环境变量相互嵌套,这是一个 MWE:
// FROM https://jenkins.io/doc/pipeline/examples/#parallel-multiple-nodes
def labels = []
if (HOST == 'true') {
labels.add(<HOSTNAME>)
}
def builders = [:]
for (x in labels) {
def label = x
builders[label] = {
ansiColor('xterm') {
node(label) {
stage('cleanup') {
deleteDir()
}
stage('build') {
env.test = "TESTA"
env.intern = '''
TEST = "${env.test}"
'''
sh '''
echo $intern
printenv
'''
}
}
}
}
}
parallel builders
这里的想法是env.test 包含值TESTA,它将env.intern 设置为TEST = TESTA 这就是我想要发生的事情。在此之后,代码只是打印出值。
遗憾的是结果是TEST = "${env.test}"。
如何在 Jenkins 脚本化管道中使用嵌套字符串环境变量?
【问题讨论】:
标签: jenkins environment-variables jenkins-pipeline pipeline