Jenkins 管道中的环境变量

Environment variable in Jenkins Pipeline

是否有任何环境变量可用于获取 Jenkins 管道标题?

我知道我们可以使用 $JOB_NAME 获得自由式工作的头衔, 但是有什么可以用来获取管道名称的吗?

您可以使用相同的名称(例如 JOB_NAMEenv.JOB_NAME)从 groovy 访问相同的环境变量。

来自文档:

Environment variables are accessible from Groovy code as env.VARNAME or simply as VARNAME. You can write to such properties as well (only using the env. prefix):

env.MYTOOL_VERSION = '1.33'
node {
  sh '/usr/local/mytool-$MYTOOL_VERSION/bin/start'
}

These definitions will also be available via the REST API during the build or after its completion, and from upstream Pipeline builds using the build step.

对于文档的其余部分,单击任何管道作业中的 "Pipeline Syntax" link

为避免更改后的副作用问题env,尤其是使用多个节点时,最好设置一个临时上下文。

改变环境的一种安全方法是:

 withEnv(['MYTOOL_HOME=/usr/local/mytool']) {
    sh '$MYTOOL_HOME/bin/start'
 }

这种方法不会在命令执行后使环境中毒。