我正在尝试在Groovy Postbuild步骤中阅读环境变量。我能够读取传递给构建的参数值,但无法读取在Execute Windows batch command
之一中设置的参数值。
在我Execute Windows batch command
的一个例子中,我这样做:
SET custom_param=myValue
如果我在其他jenkins步骤/作业中使用${custom_param}
,它就会获得我的价值。所以我相信它有价值。我只能用groovy脚本
我尝试过以下操作,但没有一个有效:
这里的任何帮助都很棒
答案 0 :(得分:1)
(假设您没有在groovy沙箱中运行脚本)
试试下面的内容:
build = Thread.currentThread().executable
String jobName = build.project.getName()
job = Hudson.instance.getJob(jobName)
my_env_var = job.getLastBuild().getEnvironment()["YOUR_ENV_VAR"]
答案 1 :(得分:0)
在“Windows命令批处理”步骤中设置一些自定义变量时,这些变量仅在此Jenkins步骤中可用。
一旦Jenkins继续下一步,你的变量就会丢失......
如果要永久设置某些变量,可以尝试使用SETX
命令:
What is the difference between setx and set in environment variables in Windows?
答案 2 :(得分:0)
Groovy Post构建步骤作为单独的进程运行。它可以像普通的JVM进程一样访问环境。
您可以使用EnvInject插件作为构建步骤。构建中的后续步骤将能够通过正常的环境访问(groovy脚本中的System.env)读取此内容