Вы исчерпываете исполнители Jenkins или застреваете в ожидании запланированных заданий для вашей Jenkins Windows? Если да, вам необходимо настроить больше агентов Jenkins.
В этом руководстве вы узнаете, как добавить узел Jenkins агента Windows для поддержки растущих потребностей в ресурсах в вашей среде сборки программного обеспечения!
Предварительные требования
Для работы с этой статьей вам понадобится следующее.
- Рабочая установка контроллера Jenkins версии 2.176.1 или выше, в этой статье контроллер называется главным узлом.
- Установка поддерживаемой версии операционной системы Windows, которая будет использоваться как узел агента Jenkins.
Что такое агенты Jenkins и контроллер агентов Jenkins?
A core component of Jenkins is the job. Jobs are instances of build automation that run a defined set of tasks. Supporting different job configurations requires an automation system to distribute build jobs among different nodes, which is simply an environment containing a Jenkins agent or controller.
Агенты Jenkins работают в различных средах, таких как физические машины, виртуальные машины, кластеры Kubernetes и образы Docker. Агент Jenkins – это исполняемый файл, находящийся на узле, который выполняет задание, назначенное контроллером.
Управление различными агентами Jenkins является задачей агентского контроллера, который также известен как главный узел. В конфигурации с одним узлом Jenkins контроллер может также действовать в качестве агента Jenkins и запускать сборочные задания. При усложнении среды эту конфигурацию становится недостаточно.
Предотвращение запуска заданий главным узлом контроллера
Прежде чем вы сможете добавить дополнительного агента Jenkins, вы должны удалить главный узел из пула сборочных агентов. Удаление главного узла из этого пула гарантирует, что контроллер имеет достаточные ресурсы для координации сборочных заданий. Вам предстоит ознакомиться с необходимыми настройками, чтобы предотвратить запуск задания главным узлом.
- Перейдите в пользовательский интерфейс Jenkins через браузер. В этом руководстве контроллер Jenkins использует адрес
192.168.x.x:8080
.

2. Как только появится панель инструментов Jenkins, щелкните ссылку Управление Jenkins.

3. Затем щелкните ссылку Настроить систему в разделе Настройка системы.

4. Прокрутите страницу вниз, чтобы найти параметр # исполнителей и установите значение 0
. Эта настройка заставляет главный узел или контроллер не запускать сборочные задания.

0
.5. На той же странице найдите URL Jenkins. Измените URL на IP-адрес и порт, используемые в браузере, вместо localhost:8080
.
Агент-узел может попытаться использовать
localhost
вместо правильного IP-адреса при взаимодействии с контроллером, если неправильно настроен. При наличии правильно настроенного IP-адреса вы можете избежать проблем с будущим взаимодействием агента!

6. Щелкните Сохранить, чтобы подтвердить и применить обновленные настройки.
Настройка TCP-порта для входных агентов
Для того чтобы сообщить агентам Windows Jenkins о том, как лучше всего запускать службу заданий и взаимодействовать с контроллером, необходимо настроить параметры входного TCP-порта. Задание параметров входного TCP-порта обеспечивает, что агент Jenkins знает, как подключаться к контроллеру Jenkins через сеть.
- Еще раз перейдите на страницу конфигурации Управление Jenkins с панели управления Jenkins.
2. Как показано ниже, щелкните раздел Настроить глобальную безопасность, чтобы найти параметры TCP-порта.

3. Прокрутите вниз, чтобы найти раздел Агенты и параметр TCP-порт для входных агентов. Измените опцию с Отключить на Случайный. Со случайной настройкой Jenkins выбирает случайный доступный номер порта и передает этот номер порта агенту во время их первого подключения к порту HTTP Jenkins.

4. Наконец, щелкните кнопку Сохранить, чтобы применить обновленные настройки.
Создание нового агентского узла Jenkins на контроллере Jenkins
Со всеми необходимыми настройками настроено, пришло время создать новый узел агента Jenkins. Прежде чем это сделать, создайте рабочий каталог на узле Windows. На узле Windows создайте каталог C:\Jenkins.
После создания рабочего каталога выполните следующие шаги для настройки нового узла!
- На панели инструментов Jenkins нажмите ссылку Управление узлами и облаками.

2. Нажмите ссылку Новый узел в левом меню. При наличии только контроллера в качестве агента в списке узлов изначально будет отображаться только главный узел.

3. Введите Имя узла, которое в данном руководстве будет MyWindowsAgent1
, но вы можете использовать более подходящий идентификатор для вашей среды, и выберите опцию Постоянный агент. При наличии дополнительных агентов может также отображаться опция Копировать существующий узел. Наконец, нажмите кнопку Ok.

4. Настройте новый агент с помощью следующих параметров. Зеленым выделены параметры по умолчанию.
- # исполнителей: Обычно соответствует количеству ядер агента. Удобный фрагмент PowerShell для поиска именно этого приведен ниже.
- Удаленный рабочий каталог: C:\Jenkins
- Метод запуска: Запуск агента путем его подключения к мастеру.

В недавней статье решений на Cloudbees.com изменены параметры запуска агента в версиях после 2.176.1. Теперь “Запуск агента через Web Start” стал “Запуск агента путем подключения к мастеру”.
5. Нажмите кнопку Сохранить и перейдите на экран списка узлов, где будет отображен новый узел агента Jenkins для Windows.
6. Нажмите на имя нового узла, MyWindowsAgent1
, чтобы получить ссылки на установку агента.

7. Теперь откройте соединение с рабочим столом удаленного рабочего стола (RDP) к узлу Windows, где будет размещен агент Jenkins.
8. Перейдите по адресу http://controllerip:port/computer/nodename
через браузер на будущем агенте Windows.
9. Нажмите кнопку Запуск для загрузки установщика агента и начала установки агента Jenkins.

Следующие шаги
Есть много способов использовать вновь найденные агенты. От выполнения сценариев PowerShell в Jenkins до запуска Jenkins в Docker, вы обнаружите, что существует много способов автоматизации вашей среды сборки!