当前位置: 首页 > 知识库问答 >
问题:

当构建过程被时间触发时,在Jenkins中设置BUILD_USER

陈龙野
2023-03-14

我在Jenkins中使用“构建用户变量插件”来获取导致触发的用户。这在手动触发时工作正常。当构建过程也由轮询P4触发时,BUILD_USER被设置为SCMTrigger。但是,当定期(时间)触发构建时,BUILD_USER为空。有没有办法设置时间触发时的BUILD_USER env变量?

共有1个答案

毕瀚
2023-03-14

您可以手动设置该 env 变量。

if [ ${BUILD_CAUSE} == "TIMERTRIGGER" ]; then
  export BUILD_USER="Emmett Brown"
fi

${BUILD_CAUSE}是Jenkins的另一个环境变量。如果您在构建中没有该变量-这可能是因为它是由EnvInject设置的。这个名字几乎可以自我解释。

但是要注意,以这种方式设置BUILD_USER可能会或可能不会更改在构建的“环境变量”中构建之后可访问的结果环境变量。如果遇到此问题,请使用EnvInject插件。您可以使用此插件更改任何Jenkins环境变量,甚至BUILD_URL等。

 类似资料:
  • 问题内容: 我正在尝试设置要触发的版本的版本说明,因为我正在启动该版本,到目前为止我还没有运气。 我遇到了一个解决方案将文本添加到由Jenkins远程API触发的构建页面中,我有点以这种方式工作(第一个命令将启动构建,第二个命令将设置最后一个的描述)建立): 但是,问题是,如果我刚刚启动的构建被排队/没有立即启动,“ lastBuild”将不引用我刚刚启动的构建,而是之前的那个(仍在构建中)。 所

  • 问题内容: 我已经安装了Description Setter插件,但是我不知道是否以及如何使用BUILD_ID,它在jenkins / env-vars.html /中以以下格式显示:“ 2005-08-22_23-59-59”(YYYY- MM-DD_hh-mm-ss)。有谁知道我是否可以使用它以及如何使用? 显示BUILD_ID是向构建描述添加时间戳的最简单方法,但是如果不可能,如何实现? 谢

  • 我想每第二个星期二触发一个詹金斯工作。到目前为止,我学到的是,这不可能那么容易。所以我试着这样做: 没关系。但有时我也想手动触发这个多分支管道作业。是否可以仅在 cron 触发的启动期间设置变量?然后我可以检查是否设置了此变量,如果没有,我知道它是由handy触发的,然后以这种方式继续?

  • 问题内容: 这是我遇到的问题-我需要每2小时触发一次作业构建,但前提是存在git commit(如果没有活动,则跳过)。我可以单独解决它们,但不确定如何一起解决- 有人有什么好主意吗?我唯一能想到的是一个cron作业,该作业每2小时检查一次,并且在此期间是否有git commit,请手动触发作业,但这看起来并不那么优雅。 任何好的想法表示赞赏。 问题答案: 将詹金斯设置为每2小时(0 * / 2

  • 问题内容: 我为作业配置了两个构建触发器(轮询SCM和FStrigger- MonitorFiles),比如说轮询计划为每日轮询(@daily),现在,如果轮询SCM检测到更改或FStrigger- MonitorFiles这样做是正常行为,则触发构建。 但是,如果两个都检测到更改,则每次触发器尝试触发构建时都会触发两次构建,那么我该如何实现每天将上述两个触发器的结果组合在一起并且仅触发/不触发一

  • 我正在使用应用服务计划进行 azure 函数,并添加了 blob 触发器,但是当任何文件上传到 blob 容器时,函数没有触发.或者有时它花了太多时间,然后在它开始触发之后。任何建议将不胜感激 它应该在新文件上传到 Blob 容器时触发该函数。