Jenkins: задания запускаются из веб-хука GitHub и запускаются только на главном узле - PullRequest
0 голосов
/ 25 марта 2020

Первоначальная идея состояла в том, чтобы запустить специфическую c сборку на указанном c узле (ведомом) после объединения изменений в главную ветку на GitHub.

Конфигурация:

  1. Jenkins (версия 2.226) находится на компьютере с Centos8 VM в VirtualBox;
  2. Настройка VM: Java 11 OpenJDK (версия openjdk "11.0.5"), git версия 2.18.2

Шаги выполнены:

  1. Создан проект Jenkins (задание), который клонирует репозиторий Github и запускает на нем несколько команд mvn;
  2. Настроил задание для запуска на новый узел, кроме главного узла;

Как и ожидалось: задание выполняется правильно.

Я использовал ngrok, чтобы выставить свой сервер Jenkins и сгенерировать внешнюю ссылку на него; Добавил URL полезной нагрузки 'http://bla.ngrok.io/github-webhook/' в GitHub;

Как и ожидалось: я могу успешно пропинговать сервер Jenkins.

В Jenkins я настроил задание на запуск через SCM (включен 'триггер GitHub для опроса GITScm'); Затем я go перехожу на GitHub и фиксирую изменение в основной ветви.

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

Я отметил автономный мастер-узел, чтобы принудительно выполнить запущенное задание на новом ведомом устройстве. Фактические результаты: ничего не происходит.

Я включил главный узел и попытался снова запустить задание. Фактические результаты: ничего не происходит.

Я добавил файл jenkins.log, чтобы посмотреть, что происходит, и записано действие «poked build». После этого, вероятно, он ожидает выполнения сборки, но этого никогда не происходит. В конце запускается «Discider фоновой сборки Periodi c».

2020-03-24 21:35:11.733+0000 [id=16]    INFO    o.j.p.g.w.s.DefaultPushGHEventSubscriber#onEvent: Received PushEvent for https://github.com/some/some_project from [someip] ⇒ http://blah.ngrok.io:8080/github-webhook/
2020-03-24 21:35:11.734+0000 [id=16]    INFO    o.j.p.g.w.s.DefaultPushGHEventSubscriber$1#run: Poked simple_build
2020-03-24 21:39:07.386+0000 [id=206]   INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Periodic background build discarder
2020-03-24 21:39:07.403+0000 [id=206]   INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Periodic back

Я что-то пропустил?

Ограничено ли действие построения триггера веб-хука только для выполнения на главном узле?

1 Ответ

0 голосов
/ 26 марта 2020

Мне удалось найти решение проблемы. Теперь сборки запускаются и запускаются на узле, который был задан на экране конфигурации сборки.

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

Для Для этого вам необходимо:

  • Go, чтобы 'Управление Jenkins> Настроить систему', и в поле 'Использование' выбрать 'Только задания сборки с выражением метки, совпадающим с этим узлом'
  • Сохранить настройки.
...