从Jenkins中的Groovy脚本设置环境变量

时间:2020-01-16 14:51:39

标签: jenkins groovy environment-variables jenkins-pipeline jenkins-groovy

我在詹金斯有一个FreeStyle项目。构建的一部分是“执行Groovy脚本”构建步骤(重要的是:不是“执行系统 Groovy脚本”步骤-不起作用)。

稍后在其他构建步骤中需要脚本执行的计算。如何在所有步骤中使用变量?是否可以在稍后执行的“ Execute Groovy脚本”中设置环境变量?

我已经尝试使用

import hudson.EnvVars
import hudson.model.*;
...
def envvars = ['envVarName': 'envVarValue']
build.environments.add(0, Environment.create(new EnvVars(envvars)))

但是在非系统常规步骤中找不到'build'。

有什么想法吗?

非常感谢:) ian

1 个答案:

答案 0 :(得分:1)

execute groovy脚本步骤仅在代理上运行groovy脚本。这与在代理上运行shell脚本的想法相同:它不在Jenkins主服务器中运行,因此没有Jenkins构建环境的概念。如果希望此步骤将信息传递给下一个步骤,则最简单的方法可能是将要共享的值写入工作空间中的文件。