Динамически дождитесь завершения подзадач jenkins и установите статус родительского задания на основе их статусов - PullRequest
0 голосов
/ 23 июня 2019

У меня есть отличный сценарий после сборки, который динамически вызывает подзадачи на основе входного файла file.txt:
Каждая строка в file.txt затем передается в новую подработку.

import hudson.model.*
def file = manager.build.getParent().getWorkspace().child('file.txt')
def lines = file.readToString().split('\r\n')
lines.each { String line ->  
      childProjectName = "childProjectName"
      job = manager.hudson.getItem(childProjectName)
      def params = new StringParameterValue('Input_Variable', line) 
      def paramsAction = new ParametersAction(params) 
      def cause = new hudson.model.Cause.UpstreamCause(manager.build)
      def causeAction = new hudson.model.CauseAction(cause)
      def waitingItem = manager.hudson.queue.schedule(job, 0, causeAction, paramsAction)
}

Я бы хотел заблокировать родительское задание до тех пор, пока все вспомогательные задания не будут выполнены и в зависимости от их статуса пройти / не выполнить родительское задание.
Есть идеи, как это сделать динамически?

1 Ответ

0 голосов
/ 24 июня 2019

один из ваших вариантов - создать конвейерный скрипт jenkinsFile. используя параллель, у вас есть возможность контролировать, что произойдет при сбое каждой из задач и что, если все не получится.

...