我想知道是否有人做了这样的事情:
environment {
script {
readYaml(file: 'customer_cfg.yaml').each { item ->
item.key = item.value
}
}
}
or
environment {
readYaml(file: 'customer_cfg.yaml').each { item ->
item.key = item.value
}
}
我正在尝试读取yaml文件并将这些key=value
对添加为全局env。我阶段的vars。
当然不行。
错误:“ item.key不是有效的标识符,不能用于环境变量。”
因此item.key不被视为env。 var name,我也尝试过evaluate("${item.key}")
或"${item.key}"=item.value
。
我使用的解决方案是通过以下步骤之一完成上述操作:
stage('Add Global Env Variables') {
steps {
script {
config.configs.each { item ->
env[item.key] = item.value
}
}
}
}
谢谢
答案 0 :(得分:0)
理论上,environment
仅支持sh
,例如:
BRANCH_NAME = sh(
script: 'echo "${GIT_BRANCH}" | sed "s|/|_|g"',
returnStdout: true
).trim()
如果您想从YAML中读取某些内容,则应使用stage
进行修改,就像您的示例一样。