我需要从一个上游作业中生成可变数量的作业。 AFAIK,没有可以做到这一点的插件。最接近的是MultiJob插件(https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin)。 所以我想创建一个构建步骤,使用其中一个Jenkins API(REST,groovy或jenkins-cli)来触发这些构建。 但是,如果我这样做,那些构建成为"分离" (意味着他们没有上游工作),主要工作与这些构建没有联系。
因此可归结为:是否可以开始构建作业并告诉它谁是上游?
答案 0 :(得分:3)
有Build Result Trigger个插件。它实际上是 Parameterized Trigger Plugin 的倒数。构建结果触发器不是像后者那样触发下游作业,而是让“下游”作业监视/监视上游作业的进度,并根据该结果触发。
这样,您的“上游”作业实际上并不知道正在观看它的下游作业。
答案 1 :(得分:2)
查看Groovy插件。
它可以让您根据需要开展多个工作,并设置上游原因。
job.scheduleBuild2(0, new Cause.UpstreamCause(build), new ParametersAction(params))
答案 2 :(得分:0)
相关帖子在这里: How do I dynamically trigger downstream builds in jenkins?
但是,从我读过的所有答案中可以清楚地看到,使用Groovy / Java类 hudson.model.Cause.UpstreamCause(currentBuild)确实实现了以编程方式触发另一个作业的目标,但是它没有完全建立上游/下游关系。 检查构建时,您看不到任何上游/下游信息。查看这些内容的唯一方法是打开每个控制台的输出。