我想在主动选择插件groovy脚本中使用环境变量“ WORKSPACE”。 我试图像这样检索它,但是没有用。无法识别WORKSPACE。
$ {WORKSPACE}
有人可以在这里帮助我吗?
摘要:
def sout = new StringBuffer(), serr = new StringBuffer()
def proc ='/test/script.sh'.execute()
proc.consumeProcessOutput(sout, serr)
proc.waitForOrKill(1000)
println sout
在这里我需要访问脚本而不是/test/script.sh
,如下所示:
def process='$workspace path/test/script.sh
答案 0 :(得分:0)
不可能获得“环境”变量。更好的名称是“属性”。这些由Jenkins在内部版本启动时动态生成,而不是在设置参数时生成。 设置参数时,您可以使用EnvVars获取一些环境变量,但是它们很少。可以使用以下代码在Jenkins脚本控制台上对此进行测试:
import hudson.EnvVars
for (envVarName in EnvVars.masterEnvVars.keySet()) {
def envVarValue = EnvVars.masterEnvVars[envVarName]
println("${envVarName}=${envVarValue}")
}
结果:
_=/etc/alternatives/java
HOME=/home/jenkins
LANG=en_US.UTF-8
LOGNAME=jenkins
NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PWD=/
SHELL=/bin/bash
SHLVL=2
TERM=xterm-256color
USER=jenkins
XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt
WORKSPACE属性具有更多功能。当您启动构建时,该目录可能不存在,特别是在您第一次进行构建时。如果您认为有意义,我的建议是将该脚本放在userContent目录中,然后根据该脚本制定其余的内容。