Jenkins: Ivy build случайным образом запускает другие проекты

Я создаю несколько проектов Ivy (с несколькими компонентами каждый), которые находятся в GitHub, используя Jenkins.

У меня есть, скажем, проекты Ivy A (с компонентами a1, a2, a3), B (с компонентами b1 и b2) и C (компоненты c1, c2, c3, c4). Каждый компонент имеет свой собственный ivy.xmlфайл.

Я создал задание Ivy в Jenkins, и у меня есть переменная, где я задаю имя проекта GitHub, а затем задания клонируют хранилище.

Например, в поле «проект GitHub» у меня есть задание:https://mygithub.com/myorg/${project}, while projectявляется параметром задания, которое может бытьA, Bили C.

Когда я запускаю задание, скажем, прохождение${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

(ПС.: это только примеры)

… и компоненты b1, c1, c3 и c4 построены!

Я понятия не имею, почему Дженкинс строит другие компоненты, так как я только попросил a быть построенным. Эти компоненты даже не являются зависимостями компонентов A.

Кстати, набор компонентов, которые строятся, является случайным — он даже не согласован. Я предполагаю, что это как-то связано с предупреждением в первой строке.

Есть мысли?

1 ответ

  1. Проблема с заданием заключалась в параметризованном имени проекта GitHub.

    Я заменил конфигурацию с помощью заданий DSL Jenkinsfile(Pipeline plug — in), и теперь у меня есть одно задание для каждого проекта, и проблема исчезла.