在 Jenkinsfile 中,您有“与环境合作 https://jenkins.io/doc/book/pipeline/jenkinsfile/#working-with-the-environment” 其中提到:
可从 Jenkins Pipeline 中访问的环境变量的完整列表记录在 localhost:8080/pipeline-syntax/globals#env,
语法是${env.xxx}
as in:
node {
echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
}
也可以看看 ”管理环境 https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md#managing-the-environment".
如何将全局变量传递到 Jenkinsfile?
当我说全局变量时 - 我的意思是
Jenkins -> Manage Jenkins -> Configure System -> Global properties -> Environment variables
See "设置环境变量 https://jenkins.io/doc/book/pipeline/jenkinsfile/#working-with-the-environment"
可以使用以下命令在 Jenkins Pipeline 中设置环境变量withEnv
步骤,它允许覆盖给定管道脚本块的指定环境变量,例如:
Jenkinsfile(管道脚本)
node {
/* .. snip .. */
withEnv(["NAME=value"]) {
... your job
}
}
语法是什么withEnv
如果我需要用另一个环境变量初始化环境变量?
如果你想用 Jenkinsfile 中另一个环境变量的值来初始化一个环境变量,你可以使用env
对象引用现有变量。
这是一个例子:
node {
withEnv(["NEW_VAR=${env.OLD_VAR}"]) {
echo "New variable: ${env.NEW_VAR}"
}
}
在这个例子中,NEW_VAR
是一个新的环境变量,其值来自OLD_VAR
,现有的环境变量。
The echo
步骤然后打印的值NEW_VAR
到控制台。