我在詹金斯有两份工作:
作业A:构建源代码+运行单元测试,由SCM更改触发。这很快。它本身并没有触发任何东西
作业B:构建安装程序。这需要一些时间。它是通过监视成功构建的作业A("构建其他项目之后的构建")来触发的。 它使用来自作业A的工件。
当单个作业B正在运行时,可能会发生多个作业A构建。
Job A #1 -> triggers Job B #1
|
Job A #2 |
|
Job A #3 -. ` Job B #1 finishes
`-> triggers Job B #2
Job A #4 |
|
Job A #5 |
| ` Job B #2 finishes
`-----------> triggers job B #3
我的问题是:如何确定A的构建数量是否触发了某个B的构建数量,因此在作业B中我可以从作业A的确切构建中复制工件?
复制神器'插件允许指定特定的内部版本号,但我从哪里获取它?
答案 0 :(得分:5)
执行此操作的最简单,最便宜的方法之一:
您可以使用Parametrized Build plugin将A
${BUILD_NUMBER}
环境变量传递给B
。例如,在B中定义PARENT_BUILD_NUMBER
变量,从PARENT_BUILD_NUMBER=$BUILD_NUMBER
到A
定义B
。
答案 1 :(得分:4)
答案 2 :(得分:1)
这对我有用,无需使用curl / ruby插件。您可能需要生成API密钥并将其传递给身份验证。
package.json
查看信息,它包含您从上游工作中获得的所有信息。