Запускаем Jenkins в Docker

  • Михаил
  • 3 мин. на прочтение
  • 199
  • 17 Feb 2023
  • 17 Feb 2023

Jenkins — это инструмент автоматизации с открытым исходным кодом, написанный на Java с плагинами, созданными для целей непрерывной интеграции. Он используется для непрерывной сборки и тестирования программных проектов, упрощая разработчикам интеграцию изменений в проект и упрощая пользователям получение новой сборки. Это также позволяет вам непрерывно доставлять свое программное обеспечение за счет интеграции с большим количеством технологий тестирования и развертывания.

Docker — это платформа для запуска приложений в изолированной среде, называемой «контейнером» (или контейнером Docker). Docker Compose — это инструмент для определения и запуска приложений Docker. С Compose вы используете файл YAML для настройки служб вашего приложения. Затем с помощью одной команды вы создаете и запускаете все службы из вашей конфигурации. Это позволяет вам воспользоваться преимуществами Docker, абстрагируясь от сложности вашего стека.

Установка Jenkins непосредственно в вашей ОС может быть сложной и дорогостоящей с точки зрения времени и ресурсов. У вас должна быть установлена ​​Java на вашем локальном компьютере и не менее 10 ГБ свободного места на диске. С другой стороны, использование docker compose очень просто и предлагает множество преимуществ.

Мы выполняем шаги по установке Jenkins с помощью Docker-Compose.

Установка Docker Compose

Docker Desktop для Mac и Docker Toolbox уже включают Compose вместе с другими приложениями Docker, поэтому пользователям Mac не нужно устанавливать Compose отдельно. Инструкции по установке Docker для них находятся здесь:

Установка Docker на Centos

Вы можете проверить версию docker compose, используя:
 

docker-compose --version

Создать конфигурацию docker-compose

Внутри вашего рабочего каталога создайте файл docker-compose.yml:
 

touch docker-compose.yml

Затем скопируйте следующую конфигурацию:
 vi docker-compose.yml

version: '3.3'

services:

  jenkins:
    image: 'jenkins/jenkins:lts'
    restart: always
    privileged: true
    user: root
    ports:
      - 8095:8080
      - 50000:50000
    volumes:
      - ~/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/local/bin/docker:/usr/local/bin/docker

Вам нужно убедиться, что каталог ~/jenkinsсуществует:
 

mkdir ~/jenkins

Этот том будет использоваться для хранения всех ваших данных: конфигураций, плагинов, пайплайнов, паролей и т. д.

Оставшиеся два тома позволяют использовать докер внутри сервера Jenkins (да, вы можете создавать контейнеры докеров внутри контейнера докеров).

Запустите Docker Compose

docker-compose up -d

Дженкинс запустился на  10.10.11.18:8095

http://10.10.11.18:8095/

Просмотрите сгенерированный пароль администратора для входа в первый раз.
 

 

docker exec jenkins_jenkins_1 cat /var/jenkins_home/secrets/initialAdminPassword

 

 

Вводим полученный пароль в форму и запускаем первоначальную настройку.

 

Теперь вы готовы установить плагины и начать создавать пайплайны. Если вы хотите остановить контейнер Jenkins, вы можете сделать это с помощью docker-compose down. Когда вы перезапустите его, вся ваша конфигурация, пользователи, ранее установленные плагины останутся на своем месте.

Обновление версий

Чтобы перейти на последние версии, просто измените тег изображения в вашем файле yml для создания докеров, например: 

version: '3.3'
services:
  jenkins:
    image: jenkins/jenkins:latest
    ...