我正在构建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
?
谢谢!
使用以下命令检查环境变量:
def env = System.getenv() env.each { println it }
将环境变量导出到中jenkins.sh
。
另请参见在Jenkins构建步骤(Windows)中从groovy脚本构建环境变量的访问。