简体   繁体   English

Groovy初始化中的Jenkins环境变量

[英]Jenkins Environment Variables in Groovy Init

I am building a Docker image of Jenkins, and have passed ENV variables to the jenkins.sh initialization file: 我正在构建Jenkins的Docker映像,并且已将ENV变量传递给jenkins.sh初始化文件:

Dockerfile Docker文件

...

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

jenkins.sh 詹金斯

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

When I run the image, these values print out perfectly, but I would like to use them in Groovy scripts during the initialization of Jenkins. 当我运行图像时,这些值可以完美地打印出来,但是我想在Jenkins初始化期间在Groovy脚本中使用它们。

The following throws an error during start: 在启动过程中,以下内容引发错误:

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'])

Error 错误

WARNING: Failed to run script file:/var/jenkins_home/init.groovy.d/init_ecs.groovy groovy.lang.MissingPropertyException: No such property: CLUSTER for class: init_ecs at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307) 警告:无法运行脚本文件:/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)

How can I capture the environment variables present in jenkins.sh ? 如何捕获jenkins.sh存在的环境变量?

Thanks! 谢谢!

Check the env vars with: 使用以下命令检查环境变量:

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

Export the env vars in jenkins.sh . 将环境变量导出jenkins.sh

See also Access to build environment variables from a groovy script in a Jenkins build step ( Windows) . 另请参见在Jenkins构建步骤(Windows)中从groovy脚本构建环境变量的访问

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM