簡體   English   中英

Groovy初始化中的Jenkins環境變量

[英]Jenkins Environment Variables in Groovy Init

我正在構建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腳本構建環境變量的訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM