是否有可用于获取Jenkins管道标题的环境变量?
我知道我们可以使用$JOB_NAME
获得自由式作业的头衔,
但是有什么东西可以用来获取Pipeline名称吗?
答案 0 :(得分:47)
您可以使用相同的名称(例如JOB_NAME
或env.JOB_NAME
)从groovy访问相同的环境变量。
来自文档:
环境变量可以从Groovy代码中以env.VARNAME或VARNAME的形式访问。您也可以写入此类属性(仅使用env。前缀):
env.MYTOOL_VERSION = '1.33' node { sh '/usr/local/mytool-$MYTOOL_VERSION/bin/start' }
这些定义也可以在构建期间或完成后通过REST API获得,也可以使用构建步骤从上游管道构建获得。
答案 1 :(得分:35)
为了避免在更改env
后出现副作用问题,尤其是使用多个节点时,最好设置临时上下文。
改变环境的一种安全方法是:
withEnv(['MYTOOL_HOME=/usr/local/mytool']) {
sh '$MYTOOL_HOME/bin/start'
}
这种方法在命令执行后不会使env中毒。