Как настроить нового агента сборки Jenkins

Вы исчерпываете исполнители 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, вы должны удалить главный узел из пула сборочных агентов. Удаление главного узла из этого пула гарантирует, что контроллер имеет достаточные ресурсы для координации сборочных заданий. Вам предстоит ознакомиться с необходимыми настройками, чтобы предотвратить запуск задания главным узлом.

  1. Перейдите в пользовательский интерфейс Jenkins через браузер. В этом руководстве контроллер Jenkins использует адрес 192.168.x.x:8080.
Logging into the Jenkins Dashboard.

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

Navigate to Manage Jenkins.

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

Navigate to Configure System.

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

Set the # of executors option to 0.

5. На той же странице найдите URL Jenkins. Измените URL на IP-адрес и порт, используемые в браузере, вместо localhost:8080.

Агент-узел может попытаться использовать localhost вместо правильного IP-адреса при взаимодействии с контроллером, если неправильно настроен. При наличии правильно настроенного IP-адреса вы можете избежать проблем с будущим взаимодействием агента!

Update the Jenkins URL to the proper IP address.

6. Щелкните Сохранить, чтобы подтвердить и применить обновленные настройки.

Настройка TCP-порта для входных агентов

Для того чтобы сообщить агентам Windows Jenkins о том, как лучше всего запускать службу заданий и взаимодействовать с контроллером, необходимо настроить параметры входного TCP-порта. Задание параметров входного TCP-порта обеспечивает, что агент Jenkins знает, как подключаться к контроллеру Jenkins через сеть.

  1. Еще раз перейдите на страницу конфигурации Управление Jenkins с панели управления Jenkins.

2. Как показано ниже, щелкните раздел Настроить глобальную безопасность, чтобы найти параметры TCP-порта.

Navigate to the Configure Global Security section.

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

Modify the TCP port for inbound agents setting to Random.

4. Наконец, щелкните кнопку Сохранить, чтобы применить обновленные настройки.

Создание нового агентского узла Jenkins на контроллере Jenkins

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

После создания рабочего каталога выполните следующие шаги для настройки нового узла!

  1. На панели инструментов Jenkins нажмите ссылку Управление узлами и облаками.
Navigate to Manage Nodes and Clouds.

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

Add a New Node to Jenkins.

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

Enter the node name and type.

4. Настройте новый агент с помощью следующих параметров. Зеленым выделены параметры по умолчанию.

  • # исполнителей: Обычно соответствует количеству ядер агента. Удобный фрагмент PowerShell для поиска именно этого приведен ниже.
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property Number*
  • Удаленный рабочий каталог: C:\Jenkins
  • Метод запуска: Запуск агента путем его подключения к мастеру.
Configure the new Jenkins Agent node.

В недавней статье решений на Cloudbees.com изменены параметры запуска агента в версиях после 2.176.1. Теперь “Запуск агента через Web Start” стал “Запуск агента путем подключения к мастеру”.

5. Нажмите кнопку Сохранить и перейдите на экран списка узлов, где будет отображен новый узел агента Jenkins для Windows.

6. Нажмите на имя нового узла, MyWindowsAgent1, чтобы получить ссылки на установку агента.

Navigate to the new Windows node.

7. Теперь откройте соединение с рабочим столом удаленного рабочего стола (RDP) к узлу Windows, где будет размещен агент Jenkins.

8. Перейдите по адресу http://controllerip:port/computer/nodename через браузер на будущем агенте Windows.

9. Нажмите кнопку Запуск для загрузки установщика агента и начала установки агента Jenkins.

Utilize the instructions and links to install the agent.

Следующие шаги

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

Source:
https://adamtheautomator.com/jenkins-agent/