Как запустить параметризованное задание после другого (без параметров)

У меня есть работа в Дженкинсе, которая имеет 2 параметра. Я хочу запустить другой план, у которого нет параметров, и из этого плана запустить существующий план столько раз, сколько потребуется.

Новый план должен запускаться каждые 15 минут (это будет выполнено с помощью планировщика Jenkins), код этого плана будет:

  • подключиться к БД
  • получить требуемый набор записей
  • start looping the recordset
    • store the key/value pair (parameters for the existing job)
  • конец цикла

Как только это будет сделано, мне нужно запустить существующее задание с каждой сохраненной парой ключ/значение. Могу ли я сделать это из коробки с Jenkins (используя 1.406) или мне нужно удаленно вызывать существующую работу? Я не вижу, как передать параметры из одного плана в другой при использовании опции «Построить другие проекты» в разделе «Действия после сборки» (настройка плана)

Спасибо


person user706058    schedule 25.07.2011    source источник


Ответы (1)


Существует плагин параметризованного триггера, который после установки позволяет вам для запуска параметризованной сборки после завершения одной сборки.

Самый простой способ выполнить то, что вы хотите, - это установить этот плагин и один раз собрать проект со списком ключей/значений, который вы хотите построить. Если по какой-то причине вам нужно выполнить сборку несколько раз после завершения первого задания, вы можете использовать удаленный API для запуска сборки из вашего первого проекта. Итак, у вас есть два варианта:

Вариант А

  • Project1 выполняется, создает файл с парами ключ/значение
  • Project1 завершается, он настроен для выполнения Project2 с параметрами (с использованием подключаемого модуля Parameterized Trigger)
  • Project2 перебирает пары ключ/значение, делая все, что вам нужно для каждой из них.

Вариант Б

  • Проект1 выполняется. Для каждой пары ключ/значение он попадает по следующему URL-адресу http://server/job/<Project2 Name>/buildWithParameters?PARAM1=Value1&PARAM2=Value2 (вам нужно будет заменить фактическое имя проекта и имена/значения параметров)
  • Project2 берет эти параметры и строит как обычно, используя значения параметров везде, где это необходимо.
person Laepdjek    schedule 25.07.2011
comment
Спасибо, Лаепджек; Я рассмотрю плагин Parameterized Trigger как можно скорее. - person user706058; 26.07.2011
comment
Спасибо вам большое!! (Я долго искал buildWithParameters?PARAM1=Value). - person akozin; 20.11.2012
comment
Могу ли я запустить две параметризованные задачи после одной успешной сборки восходящего задания с помощью плагина параметризованной сборки? - person Amit; 02.05.2013
comment
Решенная выше проблема путем запуска зависимых задач только после успешного выполнения первой задачи. Таким образом, у меня может быть столько зависимых задач, сколько мне нужно. В любом случае спасибо за предложение плагина. Это, безусловно, пригодится в некоторых ситуациях. - person Amit; 02.05.2013