在jenkins作业shell中,我希望得到在shell中启动构建的用户,我该怎么做?
如果这个作业是由用户启动的话Build User Vars Plugin运行良好,而上游作业等其他人触发它,它就不起作用。像$BUILD_USER
这样的值是空的。
在该页面中查看作者“Gavriil”的评论
这不是错误。仅在以下情况下才能识别构建用户 build由用户启动。如果构建是由其他原因触发的,f.e。 通过计时器或上游工作结束
虽然在作业控制台中,实际上我可以看到用户信息
Started by upstream project "arctifact2slave" build number 16
originally caused by:
Started by upstream project "create-vm" build number 5
originally caused by:
Started by user larrycai
任何建议
答案 0 :(得分:6)
我不确定你究竟想要实现什么,但我理解它的方式,你可以做到以下几点。
将String参数添加到根作业。影响它的BUILD_USER变量值。即:${BUILD_USER}
然后只需在'构建后操作 - >中传递当前构建参数;在其他项目的部分触发参数化构建。
后续作业将能够读取变量。
答案 1 :(得分:1)
在大多数情况下,这个问题似乎已得到解答,但我想为那些拥有Jenkins多个副本以及其他产品的人提供一些有用的东西:
我有一些与SVN链接的Jenkins服务器做了类似于你想做的事情。我有脚本保存在向主Jenkins触发帖子提交挂钩时初始化提交的人的用户名。这样,无论您使用哪个Job,Jenkins或其他服务器,您都可以访问该信息。