0

У меня три работы.Как я могу запустить задание, проверяющее статус двух других заданий?

  1. Первая Родитель работа
  2. Второй Родитель работа
  3. Ребенок Работа

Я хочу, чтобы вызвать «Child работу» только после «первого родителя работы» и «второго родителя работы» делается и удалось. У меня нет контроля над родительскими работами. Оба могут работать в любое время в любом порядке.

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

Пожалуйста, помогите мне с решением! Могу ли я иметь API-интерфейс плагина или Jenkins python.

+0

Могу ли я попросить разъяснения? Вы сказали, что оба могут работать в любое время и в любом порядке, но вам нужно, чтобы оба они запускались для запуска детской работы? Итак, если кто-то работает и успешно завершен, вы не должны запускать дочернее задание? имеет ли родительские задания какое-либо соединение между ними? совпадают ли они с количеством сборок? (как в P1 работает 4 раза, а P2 работает 2 раза, вы бы дождались, пока P2 будет работать еще 2 раза, прежде чем запускать работу ребенка?) – Dvir669

+0

@ Dvir669 Родительские задания не связаны. Пример: Родительский задание1 создает установщик A Родительский задание2 Создает другой установщик B Ребенку Job требуется как установщик для сборки набора этих установщиков (A и B). Итак, родительские задания могут быть выполнены в любое время. Оба родительских задания независимы. Мне нужен механизм, чтобы дочернее задание принимало один триггер с одного родительского задания и ожидало успешного выполнения следующего родительского задания. –

+0

Кажется, вам нужны только последние успешные инсталляторы с обеих заданий. Я бы реализовал его по-другому, но вы можете попробовать найти в разделе «Build Triggers» и отметить: «Создавать после того, как другие проекты построены» в вашей дочерней работе. Это позволит вам создать дочернюю работу после успешного завершения работы родителей. Удачи! – Dvir669

ответ

1

Вы можете сделать это с помощью плагина Jenkins. Вот пример кода:

parallel firstJob: { 
     node { 
      echo "Build parent-job-1" 
      build 'parent-job-1' 
     } 
    }, secondJob: { 
     node { 
      echo "Build parent-job-2" 
      build 'parent-job-2' 
     } 
    } 

node {  
    echo "Build child-job" 
    build 'child-job' 
} 
+0

Я не могу контролировать родительские задания. который контролируется другой командой. –

+0

Так что, возможно, вы можете добавить триггеры сборки секций: Построить после создания других проектов и добавить родительские задания. – krynio

+0

Мне нужно, чтобы родительское задание выполнялось до запуска дочернего задания. –

Смежные вопросы