Jenkins-如何在groovy后期构建步骤中读取环境变量
我试图在步骤中读取环境变量。我能够读取传递给生成的参数值,但无法读取在我的Jenkins-如何在groovy后期构建步骤中读取环境变量,jenkins,Jenkins,我试图在步骤中读取环境变量。我能够读取传递给生成的参数值,但无法读取在我的执行Windows批处理命令中设置的参数值 在执行Windows批处理命令的一个示例中,我执行以下操作: SET custom_param=myValue 如果我在其他jenkins步骤/作业中使用${custom_param},它将获得我的值。所以我相信它是有价值的。我就是不能在groovy脚本中得到它 我尝试过以下方法,但没有一种有效: manager.envVars['custom_param'] build.b
执行Windows批处理命令中设置的参数值
在执行Windows批处理命令的一个示例中,我执行以下操作:
SET custom_param=myValue
如果我在其他jenkins步骤/作业中使用${custom_param}
,它将获得我的值。所以我相信它是有价值的。我就是不能在groovy脚本中得到它
我尝试过以下方法,但没有一种有效:
- manager.envVars['custom_param']
- build.buildVariableResolver.resolve('自定义参数')
- build.getEnvironment(listener.get('custom_param'))
当您在“Windows命令批处理”步骤中设置一些自定义变量时,此处的任何帮助都将非常有用,这些变量仅在该步骤中可用
一旦Jenkins进入下一步,您的变量就会丢失
如果要永久设置某些变量,可以尝试使用SETX
命令:
(假设您没有在groovy沙盒中运行脚本)
试试下面的吼叫:
build = Thread.currentThread().executable
String jobName = build.project.getName()
job = Hudson.instance.getJob(jobName)
my_env_var = job.getLastBuild().getEnvironment()["YOUR_ENV_VAR"]
Groovy构建后步骤作为单独的进程运行。它可以像正常的JVM进程一样访问环境
您可以使用插件作为构建步骤。构建中的后续步骤将能够通过正常的环境访问(groovy脚本中的System.env)读取此信息。您是在执行“groovy脚本”还是“System groovy脚本”?显然groove脚本无法访问环境变量。更多信息:尝试在另一批中重复,它通常不起作用。检查EnvInject插件是否有帮助。