我已经安装了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
答案 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()]