Как установить Jenkins с помощью Docker Compose в Windows
Jenkins — это сервер автоматизации. Хотя его можно использовать для автоматизации практически любой задачи, чаще всего это связано с созданием исходного кода и развертыванием результатов. Для многих Jenkins является синонимом непрерывной интеграции и непрерывной доставки (CI / CD).
Одной из самых мощных функций Jenkins является ее способность распределять задания по нескольким узлам. Контроллер Jenkins отправляет задания соответствующему агенту на основе требований к заданию и доступных на данный момент ресурсов.
Хотя задания можно запускать на контроллере, считается лучшей практикой всегда создавать хотя бы один агент и запускать свои задания там.
Установка и запуск Jenkins в Docker
Установку Jenkins через файл docker-compose.yml будем рассматривать на примере Docker Desktop для Windows, для этого позаботьтесь, чтобы Docker Desktop был установлен на вашем ПК.
Для установки Jenkins с использованием Docker Compose, создайте директорию, в которой будет находиться файл docker-compose.yml, и перейдите в нее, например:
D:\Docker\jenkins
Создайте в директории файл docker-compose.yml
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- "8080:8080"
volumes:
- ./jenkins_home:/var/jenkins_home
environment:
- JENKINS_OPTS="--prefix=/jenkins"
networks:
- jenkins-net
networks:
jenkins-net:
volumes:
jenkins_home:
В этом файле определена служба Jenkins, использующая официальный образ Jenkins. В разделе ports указан порт 8080, используемый Jenkins для веб-интерфейса и сохранения данных, сопоставляется с соответствующим портам на главном компьютере. Далее в volumes указываем совместное использование диска между контейнером и хост-системой (нашим ПК). Здесь мы указываем, что соответствующая каталогу /var/jenkins_home в контейнере папка появится на хосте D:\Docker\jenkins\jenkins_home. Вы можете указать другую папку на хосте (ПК), но не меняйте папку в контейнере. В разделе environment настраиваем переменную окружения JENKINS_OPTS, которая определяет префикс URL для Jenkins. Сеть jenkins-net для обеспечения изоляции определена в разделе networks.
Чтобы установить Jenkins с использованием Docker Compose, откройте командную строку в windows (CMD или PowerShell) и выполните следующие шаги:
Перейдите в директорию с файлом docker-compose.yml:
c:\> D:
d:\>cd D:\Docker\jenkins
Выполните команду, чтобы запустить Jenkins
docker-compose up -d
Опция -d означает, что контейнер будет запущен в фоновом режиме.
После того как контейнер запустится, вы сможете получить доступ к веб-интерфейсу Jenkins, перейдя по адресу
http://localhost:8080/jenkins
Префикс и порт может менять в соответствии с настройками указанными в файле docker-compose.yml.
Как вы можете видеть, Jenkins требует открыть файл /var/jenkins_home/secrets/initialAdminPassword. Конечно, в Windows у нас нет такой папки. Что нам делать? Это момент, когда в игру вступает общий диск. На предыдущем шаге нашего руководства по Docker Jenkins мы сопоставили файл jenkins_home с папкой на ПК с Windows. Теперь мы можем просто перейти к этой папке, перейти во вложенную папку secrets и открыть initialAdminPassword с помощью блокнота. И вот оно.
Скопируем секретный код и вставим на страницу разблокировки.
Установка плагинов в Jenkins
Теперь следующая часть установки — установка плагинов Jenkins. Вы можете просто выбрать установку предопределенных плагинов и наслаждаться автоматической установкой. Это будет выглядеть примерно так.
После этого вам потребуется создать пользователя для доступа к Jenkins и подтвердить URL-адрес Jenkins. Как только это будет сделано, вы сможете начать использовать Jenkins. Мы не будем здесь углубляться в настройки, специфичные для Jenkins, потому что отныне Jenkins работает точно так же, как виртуальная машина Jenkins или автономный сервер.