Jenkins — это сервер автоматизации на базе Java с открытым исходным кодом, который предлагает простой способ настройки конвейера непрерывной интеграции и непрерывной доставки (CI / CD).
Непрерывная интеграция (CI) — это процесс автоматизации сборки и тестирования кода каждый раз, когда член команды вносит изменения в управление версиями. Непрерывная доставка (CD) — это процесс сборки, тестирования, настройки и развертывания из сборки в производственную среду.
В этом руководстве демонстрируются этапы добавления узлов агента Jenkins в Linux. В этом руководстве предполагается, что у вас уже установлен сервер Jenkins, если вы не ознакомились с нашим предыдущим руководством: Как установить сервер Jenkins
Новый Агент
Шаг 1. Создадим в системе нового пользователя которого назовем jenkins, для этого выполним:
useradd jenkins
Шаг 2. При помощи утилиты winscp подключаемся по sftp к данной виртуальной машине, после чего копируем туда jdk 8.
Шаг 3. Установим JDK при помощи RPM, в моем случае java уже была установлена по этому проверим версию, минимально необходимая версия JDK 8.
java -v
Шаг 4. Далее нам нужно сгенерировать ключ ssh. Jenkins будет использовать этот ключ для аутентификации на узле агента и входа в систему как пользователь jenkins
. Этот ключ может быть сгенерирован практически на любой машине с Linux, но вы также можете сделать это на самом узле агента и скопировать его на новые узлы агента, сменим пользователя root на jenkins:
su - jenkins ssh-keygen -t rsa -C "Jenkins agent key"
Шаг 5. Добавьте открытый ключ SSH id_rsa.pub
в список authorized_keys
файлов, как показано ниже:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Шаг 6. Скопируйте закрытый ключ SSH ~/.ssh/id_rsa
с компьютера агента в буфер обмена вашей ОС. Закрытый ключ SSH должен быть похож на это:
cat ~/.ssh/id_rsa -----BEGIN RSA PRIVATE KEY----- ................................... ................................... ................................... -----END RSA PRIVATE KEY-----
Jenkins Server
Шаг 1. Зайдем в консоль управления Jenkins в боковом меню выбираем настроить Jenkins
Шаг 2. Во вкладке System Configuration выбираем пункт «Управление средами сборки»
Шаг 3. В боковом меню выбираем новый узел
Шаг 4. Настройте имя агента, выберите Permanent agent
и нажмите на кнопку ok
Шаг 5. После создания нового узла вы должны настроить параметры узла. Укажите Remote root directory
путь, по которому пользователю на агенте разрешено писать, задайте Host
значение с именем хоста агента и нажмите кнопку Add
для Credentials
:
Шаг 6. Выберите опцию SSH Username with private key
, заполните Username
значение учетной записью пользователя на компьютере агента, в нашем примере есть jenkins
, и выберите Private Key
-> Enter directly
и вставьте ключ из буфера обмена вашей ОС, а также укажите ID
полезные Description
для этого пользователя. Наконец нажмите add
кнопку.
После, мы получаем следующий вид настроек для авторизации по ssh.
Шаг 7. Выберите Manually trusted key Verification Strategy
значение для поля Host Key Verification Strategy
и нажмите кнопку save
.
Шаг 8. Ваш новый узел должен появиться в списке узлов. Вы можете заметить красный крестик на значке узла. Это указывает на то, что он еще не подключен. Подождите несколько секунд и обновите страницу, и красный X исчезнет, указывая, что узел успешно подключен.
Вывод
Вы успешно создали узел агента Jenkins, вы можете использовать тот же ключ pubblic для добавления новых узлов агента, следующим шагом является установка инструментов, которые могут вам потребоваться для запуска ваших сборок, таких как Git , Maven , Ant , Gradle и т. Д. Возможно, вы захотите проверить следующие руководства:
О том что такое CI, вы можете познакомиться здесь.
Здесь содержится инструкция по установке jenkins без контейнера.
О том как установить Docker в CentOS8/RHEL8, мы говорили тут.