Jenkins:常春藤构建随机触发其他项目

Jenkins: Ivy build randomly triggering other projects

我正在使用 Jenkins 在 GitHub 中构建一些 Ivy 项目(每个项目都有几个组件)。

比方说,我有 Ivy 项目 A(组件 a1、a2、a3)、B(组件 b1 和 b2)和 C(组件 c1、c2、c3、c4)。每个组件都有自己的 ivy.xml 文件。

我在 Jenkins 中创建了一个 Ivy 作业,我有一个变量,我在其中设置了 GitHub 项目的名称,然后作业克隆了存储库。

例如,在作业的"GitHub project"字段中我有:https://mygithub.com/myorg/${project},而project是一个作业参数,可以是ABC.

当我触发作业时,比方说传递 ${project} = A,我希望构建组件 a1、a2 和 a3。那确实发生了。

但是,我还在控制台输出的末尾得到以下几行:

Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered
Triggering a new build of Build_and_JUnit » Build-develop » myorg.projectB.b1
Triggering a new build of Build_and_JUnit » Build-develop » myorg.projectC.c1
Triggering a new build of Build_and_JUnit » Build-develop » myorg.projectC.c3
Triggering a new build of Build_and_JUnit » Build-develop » myorg.projectC.c4
Finished: SUCCESS

(ps.: 这些只是例子)

...并且构建了组件 b1、c1、c3 和 c4!

我不知道为什么 Jenkins 要构建其他组件,因为我只要求构建 A。这些组件甚至不是 A.

组件的依赖项

顺便说一下,构建的组件集是随机的 - 它甚至不一致。我认为它与第一行的警告有关。

有什么想法吗?

作业的问题是参数化的 GitHub 项目名称。

我使用 Jenkinsfile(管道插件)将配置替换为 DSL 作业,现在每个项目都有一个作业,问题消失了。