如何使用Jenkins的EnvInject插件设置包含命令的env变量

时间:2016-05-13 16:26:50

标签: shell plugins jenkins environment-variables

我已经安装了Jenkins的EnvInject插件。 我将它添加到属性内容中(在脚本内容中也不起作用:echo什么都没有) 我能够设置环境变量,例如:

TEST="hello world"

在shell中:

echo ${TEST}
Output: Hello World

但是当我尝试将命令的输出放在我的变量中时,它不起作用:

HOSTNAME=`hostname`

在Shell中

echo ${HOSTNAME}
Output: `hostname`

当我在shell中设置环境变量时(没有插件工作): 在壳牌

HOSTNAME=`hostname`
echo ${HOSTNAME}
Output: localhost

1 个答案:

答案 0 :(得分:1)

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

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

return [HOSTNAME: 'hostname'.execute().text]

或运行等效的Groovy

return [HOSTNAME: java.net.InetAddress.getLocalHost().getHostName()]