hudson - 在 Jenkins 中检索下游构建的构建号或工件

标签 hudson jenkins parameterized

我在 Jenkins 有一份工作(称之为 BIGJOB);几个构建步骤是使用 Parameterized Trigger Plugin 触发其他作业的构建(称为 SMALLJOB)。然后等待它们完成。我需要做的是从 SMALLJOB 上的触发构建中检索工件。

本来,我以为我可以用Copy Artifact Plugin从触发的 SMALLJOB 的“最后一次构建”中检索工件。当一次只有一个 SMALLJOB 运行时,这确实可靠地工作。

但是我有多个 BIGJOB 正在运行,所有这些都触发​​了多个 SMALLJOB,因此使用“最后一次构建”是不可靠的,因为两个 SMALLJOB 同时完成。

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

最佳答案

如果将来有任何(其他)绊脚石遇到这个问题:

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

  • LAST_TRIGGERED_JOB_NAME="上次启动项目"
  • TRIGGERED_BUILD_NUMBER_{project name}="上次触发的内部版本号"

  • 从 2.17 版开始
  • TRIGGERED_JOB_NAMES="所有已触发项目的逗号分隔列表"
  • TRIGGERED_BUILD_NUMBERS_{project name}="触发的内部版本号的逗号分隔列表"
  • TRIGGERED_BUILD_RESULT_{project name}="上次触发的项目构建结果"
  • TRIGGERED_BUILD_RESULT_{项目名称}RUN{内部版本号}="内部版本号的触发构建结果"
  • TRIGGERED_BUILD_RUN_COUNT_{project name}="为项目触发的构建数量"

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

    关于hudson - 在 Jenkins 中检索下游构建的构建号或工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7133027/

    相关文章:

    html - hudson/jenkins - 单击结果链接时显示内容

    android - 为什么 Jenkins Android 模拟器插件会在每个构建中重新创建我的模拟器快照?

    java - websphere 中的自动 Jenkins 部署

    java - 重载参数化测试运行器不与 JUnit4Provider 一起工作

    msbuild - hudson : warning MSB3245: Could not locate the assembly “nunit.framework”

    continuous-integration - 如何更好地组织 Hudson 或 Jenkins 的工作?

    groovy - 如何通过 Groovy 参数获取 Jenkins 中的当前 session 用户

    Java 映射,键 = 类,值 = 该类的实例

    java - 如何检查参数化方法?