Jenkins настройка · 5 min read · Dec 19, 2025
Как настроить Jenkins Master и Slave на Ubuntu

Jenkins — это сервер автоматизации, ответвленный от проекта Hudson. Он поддерживает множество систем управления версиями (SCM), включая Git, SVN и Mercurial. Jenkins предоставляет сотни плагинов для автоматизации вашего проекта. Jenkins предлагает поддержку архитектуры ‘master/slave’, позволяя ему хостить большое количество сборок проектов.
Как работает ‘master/slave’ Jenkins?
Архитектура master/slave Jenkins используется для распределенных сред сборки, где нагрузка по сборке проектов распределяется на несколько узлов-агентов, и мы можем использовать разные среды для каждой сборки.
В архитектуре ‘master/slave’ Jenkins мастер представляет собой базовую установку Jenkins и обрабатывает все задачи для системы сборки. Узел-мастер Jenkins будет использоваться для планирования задач, мониторинга узлов-слейвов, распределения сборок на узлы-слейвы, записи и представления результата сборки, а также для непосредственного выполнения сборочных заданий.
Узлы-слейвы Jenkins настраиваются для разгрузки сборки проектов от мастера, и требуется установленное соединение между мастером и слейвами. Узлы-слейвы Jenkins могут работать на различных операционных системах, таких как Windows и Linux, и нет необходимости устанавливать полные пакеты Jenkins на них.
Этот учебник научит нас, как настроить архитектуру master-slave Jenkins, используя последнюю версию Ubuntu. Мы научимся настраивать сервер Jenkins master и добавлять другие узлы Ubuntu в качестве слейвов Jenkins.
Предварительные требования
- Ubuntu Server (Ubuntu 22.04 - Ubuntu 16.04) - мастер - 10.0.15.10
- slave01 - 10.0.15.21
- slave02 - 10.0.15.22
- Права root
Что мы будем делать?
- Установить Jenkins Master
- Настроить учетные данные Jenkins Master
- Настроить узлы-агенты Slave
- Добавить новые узлы-слейвы
- Подготовить узлы-агенты Slave для выполнения сборки
- Тестирование
Шаг 1 - Установить Jenkins Master
В этом учебнике мы не будем рассматривать базовую установку Jenkins. Несколько статей на HowtoForge охватывают установку Jenkins.
- Установить Jenkins на Ubuntu 16.04
- Установить Jenkins на Ubuntu 18.04
- Установить Jenkins на Ubuntu 20.04
- Установить Jenkins на Ubuntu 22.04
- Установить Jenkins на CentOS 7
Следующий наш сервер Ubuntu с установленным Jenkins.

Шаг 2 - Настроить учетные данные Jenkins Master
Когда вы установите сервер Jenkins master, нам нужно настроить сам сервер master. По умолчанию есть разные способы запуска узлов-агентов Jenkins, мы можем запускать узлы-агенты через SSH, административную учетную запись Windows и через Java Web Start (JNLP), выберите лучший способ в зависимости от вашей конфигурации среды и операционной системы.
Для этого руководства мы запустим узлы-агенты через ssh, и нам нужно настроить учетные данные Jenkins на нашем сервере master.
Генерация SSH-ключа
Мы будем использовать аутентификацию по SSH-ключу для настройки наших узлов-агентов, поэтому нам нужно сгенерировать SSH-ключ для пользователя Jenkins, а затем вручную загрузить ключ на каждый серверный узел с помощью ‘ssh-copy-id’.
На сервере Jenkins master войдите в систему как пользователь Jenkins и сгенерируйте SSH-ключ.
su - jenkins
ssh-keygenИ вы получите закрытый ключ ‘id_rsa’ и открытый ключ ‘id_rsa.pub’ в директории ‘.ssh’.

Настройка учетных данных в Jenkins
Откройте панель управления Jenkins и нажмите на меню ‘Credentials’ слева.

И нажмите на ссылку ‘global’.
Теперь нажмите ‘Add Credentials’.

Теперь выберите метод аутентификации.
- Kind: SSH Username with private key
- Scope: Global
- Username: jenkins
- Private key: Введите напрямую и вставьте закрытый ключ ‘id_rsa’ пользователя Jenkins с сервера master.
Нажмите ‘OK’.

И учетные данные Jenkins с методом аутентификации SSH-ключа были созданы.

Шаг 3 - Настроить узлы-слейвы
Теперь мы настроим серверы узлов-слейвов, установив Java на этих серверах и создав нового пользователя Jenkins.
Установить Java
Установите пакеты ‘software-properties-common’ и добавьте репозиторий PPA для Java.
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -yТеперь установите Java OpenJDK с помощью команды apt ниже.
sudo apt install openjdk-8-jdk -yПосле завершения установки проверьте установленную версию Java.
java -versionИ вы получите установленный Java OpenJDK 1.8 в системе.
Добавить нового пользователя Jenkins
Теперь добавьте пользователя ‘Jenkins’ на все узлы-агенты.
Выполните команду ниже.
useradd -m -s /bin/bash jenkins
passwd JenkinsПользователь ‘Jenkins’ для узлов-агентов был создан.

Копировать SSH-ключ с мастера на слейв
Далее мы должны загрузить ключ ‘id_rsa.pub’ с мастера на узлы серверов-слейвов. Мы должны загрузить на каждый серверный узел, используя команду ‘ssh-copy-id’, как показано ниже.
ssh-copy-id [email protected]
ssh-copy-id [email protected]Введите пароль пользователя Jenkins.
SSH-ключ ‘id_rsa.pub’ был загружен на все узлы-агенты.

Шаг 4 - Добавить новые узлы-слейвы
На панели управления Jenkins нажмите меню ‘Manage Jenkins’, а затем нажмите ‘Manage Nodes’.

Нажмите ‘New Node’.

Введите имя узла ‘slave01’, выберите ‘permanent agent’ и нажмите ‘OK’.

Теперь введите детали информации узла.
- Description: сервер-агент узла slave01
- Remote root directory: /home/jenkins
- Labels: slave01
- Launch method: Запустить агента-слейва через SSH, введите IP-адрес хоста ‘10.0.15.21’, выберите аутентификацию с использованием учетных данных ‘Jenkins’.

Теперь нажмите кнопку ‘Save’ и дождитесь, пока сервер master подключится ко всем узлам-агентам и запустит службы агентов.
Ниже приведены результаты, когда сервер master подключен ко всем узлам-агентам.

Узлы-слейвы Jenkins были добавлены на сервер master.
Шаг 5 - Подготовить узлы-агенты Slave для выполнения сборки
На этом этапе мы настроим Jenkins master для выполнения сборки на узлах-агентах слейвов.
Нажмите на меню ‘Manage Jenkins’, а затем нажмите ‘Configure System’.

Теперь перейдите в раздел ‘Slave Setups’ и определите все, что вам нужно, как показано ниже.

Больше информации о ‘Slave Setups’ по ссылке.
Нажмите кнопку ‘Save’, и теперь мы готовы выполнять сборку на узлах-агентах слейвов.
Шаг 6 - Тестирование
Теперь мы хотим создать новую простую сборку для Jenkins и выполнить сборку на обоих узлах-агентах ‘slave01’ и ‘slave02’.
На панели управления Jenkins нажмите меню ‘New Item’.

Введите имя элемента, выберите проект freestyle и нажмите ‘OK’.

В общем разделе введите описание задания и отметьте опцию ‘Ограничить, где этот проект может быть запущен’.
В ‘Label Expression’ укажите узел, например, ‘slave01’.

Перейдите в раздел сборки и выберите опцию ‘Execute shell’, введите команду, как показано ниже.
top -b -n 1 | head -n 10 && hostnameНажмите кнопку ‘Save’, и вы будете перенаправлены на страницу задания.

Нажмите ‘Build Now’, чтобы собрать проект, а затем нажмите элемент в разделе ‘Build History’.

И следующее — это мой результат.
Сборка на узле-агенте ‘slave01’.

Сборка на узле-агенте ‘slave02’.

Установка и настройка архитектуры master/slave Jenkins и распределенных сборок Jenkins были успешно завершены.
Ссылки
Get new posts in your inbox
No spam. Unsubscribe anytime.