Дженкинс выполняет одно задание, которое запускает несколько заданий

Я новичок в Jenkins, мне нужно выполнить одно задание, которое запускает несколько других заданий параллельно, если оно не должно останавливаться, даже если одно задание не удается.

я не уверен, как этого добиться. После поиска в Google я могу достичь трех способов: плагин Multi-Job: конвейер нескольких заданий Jenkins, сборка после других проектов, подключаемый модуль Build Flow.

Может ли любое тело предоставить мне правильный путь.

Обновление: я пытаюсь добиться этого с помощью плагина конвейера, может ли кто-нибудь предложить мне, был ли это правильный выбор? .. Пожалуйста, предложите! ..


person ramakri    schedule 21.03.2017    source источник


Ответы (3)


Для этого мы используем параметризованный плагин триггеров.

В свою конфигурацию сборки добавьте сборки триггера / вызова на этапе сборки других проектов. Добавьте имена сборок, которые вы хотите запускать, в виде списка, разделенного запятыми, и убедитесь, что флажок Блокировать, пока запускаемые проекты не завершат свои сборки, не установлен. Ваша сборка будет запускать каждую из перечисленных сборок, однако обратите внимание, что ваша родительская сборка не будет ждать их завершения, она просто запустит их, а затем выполнит остальные шаги сборки, поэтому, если у вас есть шаги сборки.

Если вы все же хотите подождать, установите флажок «Блокировать до тех пор, пока триггерные сборки не закончатся», но установите параметры, когда завершать сборку, шаг сборки или пометить сборку как нестабильную соответствующим образом.

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

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

Может ли любое тело предоставить мне правильный путь.

Я бы не стал подходить к использованию Дженкинса с менталитетом «единственно верного пути». Часто требования вашей сборки диктуют, какой метод или плагин вы используете в конфигурациях сборки.

person Tuffwer    schedule 21.03.2017
comment
я столкнулся с этим, stackoverflow.com/questions/19223658/, пожалуйста, поделитесь своими мыслями, хорошо это было или нет! .. - person ramakri; 22.03.2017
comment
@ramki Я уверен, что именно вы пытаетесь достичь, поскольку ваш вопрос заключается в поиске способа начать несколько последующих заданий с одной родительской работы. Это все, что вы предоставили. Вы ждете, чтобы собрать информацию об этих последующих работах? Вы просто хотите выстрелить и забыть? Какой именно процесс вам нужно использовать, действительно зависит от вашей конечной цели. Ваш связанный пост выглядит так, как будто у него есть несколько решений, которые должны работать в той мере, в которой вы ответили на заданный вами вопрос, но я никогда не пробовал ни одного из них, поэтому я не могу говорить об их эффективности. - person Tuffwer; 22.03.2017
comment
спасибо за ваш ответ, я не жду ни одной работы, я просто хочу запустить родительскую работу, которая запускает несколько заданий и объединяет статус родительской работы на основе дочерних заданий! .. если одно дочернее задание терпит неудачу, тогда родительский статус тоже должен показать не удалось! ... - person ramakri; 22.04.2017
comment
Если вы действительно хотите подождать, установите флажок «Блокировать до тех пор, пока триггерные сборки не закончатся», но установите параметры, когда завершать сборку, шаг сборки или пометить сборку как нестабильную соответствующим образом, можете ли вы объяснить это! .. - person ramakri; 22.04.2017
comment
После того, как вы добавили этап сборки Trigger/call builds on other projects в свою сборку, должен появиться флажок с надписью Block until triggered projects finish their builds. Выберите это, а затем в трех появившихся раскрывающихся списках решите, хотите ли вы, чтобы текущее задание сборки завершилось сбоем, продолжилось или было помечено как нестабильное, в зависимости от того, завершилось ли вызванное задание сбой, выполнено успешно или нестабильно. Я не могу опубликовать снимок экрана Дженкинса, который использую. Этот метод позволит вам собрать информацию о том, успешно ли выполнено вызванное задание, но не позволит вам сделать это и запустить дочерние задания параллельно. - person Tuffwer; 24.04.2017
comment
похоже, что у меня не было плагина параметризованного триггера, я не вижу в моей конфигурации проекта maven в jenkins, плагин параметризованного триггера! .. Я пытаюсь использовать плагин конвейера для достижения этого! .. не могли бы вы высказать свои мысли по этому поводу? .. погода подходила лучше всего или нет ?. - person ramakri; 26.04.2017
comment
Конвейер, вероятно, лучший вариант с учетом ваших требований, похоже, что параметризованный плагин триггера не сделает именно то, что вы хотите. однако я еще не работал с конвейером, поэтому не уверен, что смогу сильно помочь. - person Tuffwer; 26.04.2017

Задание может запускать другие задания через jenkins api.

person Steven Dashevsky    schedule 21.03.2017
comment
вы имеете в виду из java-кода? .. я хочу из веб-интерфейса Jenkins - person ramakri; 21.03.2017
comment
Ваша работа может выполнить в сборке код, который будет вызывать другие 2 задания через api. Этот код и все, что можно выполнить в bash. - person Steven Dashevsky; 22.03.2017

обновленный ответ: я использовал плагин конвейера для достижения своей задачи, и tuffwer был прав, если у вас есть плагин триггера с параметрами! ..

person ramakri    schedule 25.05.2017