我知道我可以在一个阶段有一个关于詹金斯管道(声明性)的环境部分。
像这样:
stage('Name') {
environment {
NAME = value
}
steps {
script {
Do something using these env vars
}
}
}
我想编写一个常规函数,定义一些环境变量,运行一些东西,并从几个管道中调用它。
就像是:
def function () {
environment {
NAME = value
}
sh "do something using these env vars"
}
有可能吗?
(我知道我可以写sh "ENV=value; some CMD"
但我的变量很少,而且可读性较差)。
是的,你可以这样做。 Jenkins Pipeline 将其环境变量存储在名为的映射中ENV
。因此,您可以向此映射添加其他键值对以获取其他环境变量。这可以通过 Groovy 语法完成:
// syntax option one
env.key = value
// syntax option two
env['key'] = value
对于您的示例,这看起来像:
def function () {
env.NAME = value
sh "do something using these env vars"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)