Как сделать, чтобы джоба следила за чайлдами чайлда?


#1

Дано: 3 джобы. Первая - multijob с фазами, которая в первой фазе вызывает джобу номер 2 с groovy скриптом. Как параметр передаётся список из названий тестов, groovy скрипт этот список парсит и в цикле (на каждое название теста) запускает третью джобу. Всё это сделано для того, чтобы можно было задать список тестов, а они запустились бы в Jenkins параллельно на десяти экзекьюторах, и при этом не пришлось бы создавать по джобе на каждый тест.
Фух, надеюсь, понятно объяснила :slight_smile: (ага, как же)
Так вот теперь вопрос. Весь смысл Multijob в том, чтобы было несколько фаз, и каждая следующая выполняется только после того, как завершится предыдущая. Но с моим решением, фаза заканчивается в момент окончания работы groovy скрипта, после того, как он породил десяток чайлдов. А хотелось бы, чтобы фаза заканчивалась, когда закончил ранаться последний чайлд. Подскажите, пожалуйста, как это реализовать?


(Bolatbek) #2

Попробуйте этот плагин:
https://wiki.jenkins-ci.org/display/JENKINS/Build+Blocker+Plugin
И не запускайте последующий джоб, пока ваши мультидджобы не закончат работу.

Либо попробуйте этот:
https://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin