2015-12-07 5 views
1

У меня есть jenkins, установленные на двух разных серверах s1 (где я могу видеть статус проектов, но где я не могу изменить или добавить какой-либо элемент) и s2, где у меня есть полный контроль Дженкинса и сервера.Запуск сборки jenkins при завершении задания удаленных jenkins

У меня есть проект в Jenkins в s2, который я хотел бы выполнить, когда конкретная сборка на s1 закончилась (с успехом).

Я знаю, что могу использовать Parameterized Trigger Plugin в s1 и оттуда запускать задание в s2, но мне нужно будет попросить кого-то с необходимыми разрешениями сделать это для меня.

Интересно, есть ли способ отслеживать работу в s1 (к которому у меня есть доступ на чтение) от s2 и запускать проект, когда сборка выполнена успешно. Я могу сделать это?

ответ

2

Решение заключается в использовании URLTrigger plugin.

Установите этот плагин на сервер s2.

На вашем s2 работу, выберите "[URLTrigger] - Опрос с URL" создать триггер с некоторыми настройками, как показано ниже:

enter image description here

Вы можете проверить следующее состояние: lastBuild, lastStableBuild, lastSuccessfulBuild, lastFailedBuild, lastUnstableBuild, lastUnsuccessfulBuild, lastCompletedBuild.

Для каждого состояния вы можете получить номер сборки, например, добавив/buildNumber.

Пример: .../lastSuccessfulBuild/BuildNumber вернет 4 (сборка # 4)

enter image description here

Плагин будет вычислять MD5 с этим номером сборки. Каждый час плагин triggerURL будет искать URL. Если MD5 изменится, он вызовет сборку.

Он должен выполнить задание :)

+0

благодарит Бруно! Я буду устанавливать его завтра и проголосовать за ваш ответ, если мне удастся заставить его работать! – lucacerone

+0

ОК, пожалуйста, держите меня в курсе :) –

+0

Привет, Бруно, поэтому я установил плагин, но теперь у меня есть несколько вопросов (которые, я думаю, должны быть включены в ответ ..): во-первых, где я могу найти документ о возможные значения, такие как lastSuccessfulBuild и т. д.? второй из вашего скриншота кажется, что мне нужно знать buildNumber, но это, вероятно, будет меняться каждый раз ... не следует ли вместо этого использовать «проверить статус»? – lucacerone