当前,我正在尝试回显使用
触发构建的用户名$ BUILD_USER_ID
来自用户vars插件,但是从那里我不确定如何将其传递到我的ruby脚本中,我以批处理命令完成了此操作:
set USER = $ BUILD_USER_ID
这就是我的红宝石文件中的内容:
ENV ['USER']
但是它返回一堆奇怪的字母,我猜这是我用来运行作业的从属节点中的用户名。
有什么我想念的吗?
答案 0 :(得分:1)
您可以将插件与envinject插件结合使用,以在Jenkins作业中注入环境变量。
我创建了一个詹金斯工作并安装了两个插件。我已经勾选了“设置jenkins用户构建变量”。 我还勾选了:“将环境变量注入到构建过程中”,并在“属性内容”中进行定义:
USER = $BUILD_USER_ID
这将创建一个新的环境变量USER
,其中包含变量BUILD_USER_ID(由用户env插件创建)的内容。
要测试:
我创建了一个file.rb,其中包含我的ruby代码以打印环境变量(仅在shell中)。
# write script
echo "#!/usr/bin/env ruby" > file.rb
echo "# Print some variables" >> file.rb
echo "puts ENV['BUILD_USER_ID']" >> file.rb
# execute script
ruby file.rb
输出:
[EnvInject] - Injecting as environment variables the properties content
USER=$BUILD_USER_ID
[EnvInject] - Variables injected successfully.
[test] $ /bin/sh -xe /tmp/jenkins3544234152865572985.sh
+ echo #!/usr/bin/env ruby
+ echo # Print some variables
+ echo puts ENV['USER']
+ ruby file.rb
admin
Finished: SUCCESS