一尘不染

在Jenkins中检索内部版本号或下游内部版本的工件

jenkins

我在詹金斯有一份工作(称为BIGJOB);几个构建步骤是使用参数化触发器插件来触发其他作业(称为SMALLJOB)的构建,然后等待它们完成。我需要做的是从SMALLJOB上触发的构建中检索工件。

最初,我认为我可以使用Copy Artifact插件从触发的SMALLJOB的“最后构建”中检索工件。当一次仅运行一个SMALLJOB时,这确实可以可靠地工作。

但是我运行了多个BIGJOB,它们都触发了多个SMALLJOB,因此使用“最后构建”对两个SMALLJOB同时完成并不可靠。

有没有更可靠的方法来从特定的下游作业中获取工件?如果我可以获取内部版本号,则可以使用curl来获取工件。


阅读 262

收藏
2020-07-25

共1个答案

一尘不染

将来是否有其他问题困扰着这个问题:

在使用参数化触发器插件作为构建步骤时,如果触发器配置为启用了“阻止,直到被触发的项目完成其构建”,则以下环境变量可用于进一步的构建步骤:

  • LAST_TRIGGERED_JOB_NAME =“上一个项目已启动”
  • TRIGGERED_BUILD_NUMBER_ {项目名称} =“上次触发的内部版本号”

从2.17版开始

  • TRIGGERED_JOB_NAMES =“所有触发项目的逗号分隔列表”
  • TRIGGERED_BUILD_NUMBERS_ {项目名称} =“用逗号分隔的内部版本号列表已触发”
  • TRIGGERED_BUILD_RESULT_ {项目名称} =“项目的上次触发生成结果”
  • TRIGGERED_BUILD_RESULT_ {项目名称} RUN {内部版本号} =“内部版本号触发的内部版本的结果”
  • TRIGGERED_BUILD_RUN_COUNT_ {项目名称} =“为项目触发的内部版本数”

在插件网站上查看更多信息-问题中的链接。

2020-07-25