当前位置:  开发笔记 > 编程语言 > 正文

Groovy初始化中的Jenkins环境变量

如何解决《Groovy初始化中的Jenkins环境变量》经验,为你挑选了1个好方法。

我正在构建Jenkins的Docker映像,并将ENV变量传递给jenkins.sh初始化文件:

Docker文件

...

COPY ./jenkins.sh /usr/local/bin/jenkins.sh 

詹金斯

echo ENV: "$ENV"
echo CLUSTER: "$CLUSTER"
echo REGION: "$REGION"

当我运行图像时,这些值可以完美地打印出来,但是我想在Jenkins初始化期间在Groovy脚本中使用它们。

在启动过程中,以下内容引发错误:

import java.util.Arrays
import java.util.logging.Logger
Logger logger = Logger.getLogger("ecs-cluster")

logger.info("Loading Archeus-Midwayer...")
import jenkins.model.*
instance = Jenkins.getInstance()

def env = System.getenv()
println(env['CLUSTER'])

错误

警告:无法运行脚本文件:/var/jenkins_home/init.groovy.d/init_ecs.groovy groovy.lang.MissingPropertyException:无此类属性:类的CLUSTER:org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap( org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:52)处的ScriptBytecodeAdapter.java:53)org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307)处的PogoGetPropertySite.java:52)

如何捕获其中存在的环境变量jenkins.sh

谢谢!



1> GeroldBroser..:

使用以下命令检查环境变量:

def env = System.getenv()
env.each { 
  println it
}

将环境变量导出到中jenkins.sh

另请参见在Jenkins构建步骤(Windows)中从groovy脚本构建环境变量的访问。

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有