如何在Jenkins / Hudson中以编程方式设置环境变量?

时间:2012-05-28 19:05:45

标签: hudson jenkins environment-variables hudson-plugins jenkins-plugins

我在Jenkins作业的预构建步骤中有两个脚本,第一个是perl脚本,第二个是使用groovy插件的系统groovy脚本。我需要第二个groovy脚本中第一个perl脚本的信息。我认为最好的方法是设置一些环境变量,并想知道如何实现。

或任何其他更好的方式。

感谢您的时间。

2 个答案:

答案 0 :(得分:13)

在构建步骤之间传播环境变量的方法是通过EnvInject Plugin

以下是一些以前的答案,展示了如何做到这一点:

但是,在您的情况下,在一个构建步骤中写入文件并在另一个构建步骤中读取该文件可能更简单。为确保您不会意外地从文件的先前版本中读取,您可以在文件名中包含BUILD_ID

答案 1 :(得分:3)

在作业配置中使用EnvInject Plugin,您应该使用Inject environment variables to the build process / Evaluated Groovy script

根据设置,您可以执行Groovyshell命令并将其保存在包含环境变量的地图中:

实施例

通过execute方法获取命令结果:

return [DATE: 'date'.execute().text]

Groovy等价物(如果存在):

return [DATE: new Date()]