Jenkins Pipeline访问环境变量
我正在尝试在Jenkins中使用DSL管道。我认为如果可以将项目名称用作脚本的一部分,那就太好了。
git credentialsId: 'ffffffff-ffff-ffff-ffff-ffffffffffffff',\url: "${repo_root}/${JOB_NAME}.git"
我得到错误:
groovy.lang.MissingPropertyException: \No such property: JOB_NAME for class: groovy.lang.Binding
我以为我遵循了这些指示,并且将其JOB_NAME
作为变量之一。
我决定尝试:
sh 'env'
在我的DSL中,结果显示为:
JOB_NAME = foo-bar
这是我所期望的。
另一个博客提到:
我们有两种方法来获取它们的价值。
-D=
在启动过程中传递的属性,System.getProperty("key")
由于Groovy与Java的紧密联系,我们可以理解为。以Java方式读取普通环境变量是
System.getenv("VARIABLE")
…
让我们尝试一下:
println "JOB_NAME = " + System.getenv('JOB_NAME');
现在,我得到:
java.lang.NullPointerException: Cannot get property 'System' on null object
空对象?但是,我可以看到这JOB_NAME
是一个环境变量!
如何$JOB_NAME
在管道作业中将DSL脚本读入。我正在尝试管道作业,当我得到该工作时,将使它成为具有的多分支管道Jenkinsfile
。
回答:
所有的环境变量使用访问env
,如${env.JOB_NAME}
。
以上是 Jenkins Pipeline访问环境变量 的全部内容, 来源链接: utcz.com/qa/433339.html