目前我正在尝试回显触发构建的用户的名称
$BUILD_用户_ID
从用户 vars 插件,但从那里我不确定如何将其传递到我的 Ruby 脚本中,我在批处理中执行此操作:
设置 USER= $BUILD_USER_ID
这是我的 Ruby 文件中的内容:
环境['用户']
但它返回了一堆奇怪的字母,这是我用来运行作业的从属节点中的用户名。
我错过了什么吗?
您可以将插件与 envinject 插件结合使用,以在 Jenkins 作业中注入环境变量。
我已经创建了一个 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