/ #web #linux 

Швидкий старт Jenkins в Debian 10 за допомогою Docker

Для швидкого старту системи CI/CD Jenkins скористаємось docker-ом. Працюємо в Debian 10, але рецепт певно спрацює для будь-якого deb-похідного дистрибутиву.

  1. Встановлюємо Docker
apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
apt-get update
apt-get install docker-ce
systemctl status docker
● docker.service - Docker Application Container Engine
  Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  Active: active (running) since Wed 2019-07-31 12:48:03 EEST; 5min ago
    Docs: https://docs.docker.com
Main PID: 3518 (dockerd)
    Tasks: 10
  Memory: 49.1M
  CGroup: /system.slice/docker.service
          └─3518 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Додаємо користувача developer в групу docker

usermod -aG docker developer
  1. Встановлюємо docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
which docker-compose
/usr/local/bin/docker-compose
  1. Створюємо docker-compose.yml для Jenkins
cd /home/developer
mkdir docker-jenkins
cd docker-jenkins
mcedit docker-compose.yml
version: '3.6'
services:
  jenkins:
    image: jenkinsci/blueocean
    container_name: jenkins
    ports:
      - "8080:8080"
      - "8443:8443"
      - "50000:50000"
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always
  1. Запускаємо Docker
docker-compose up

Якщо отримаємо помилку ERROR: Couldn’t connect to Docker daemon at http+docker://localhost - is it running? If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable., то змінюємо власника docker.sock

chown developer /var/run/docker.sock

Під час запуску звертаємо увагу на наступний запис

jenkins    | *************************************************************
jenkins    | *************************************************************
jenkins    | *************************************************************
jenkins    | 
jenkins    | Jenkins initial setup is required. An admin user has been created and a password generated.
jenkins    | Please use the following password to proceed to installation:
jenkins    | 
jenkins    | 86ad907b0db745cb8047762aef1baa4a
jenkins    | 
jenkins    | This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
jenkins    | 
jenkins    | *************************************************************
jenkins    | *************************************************************
jenkins    | *************************************************************
  1. В браузері запускаємо http://XXX.XXX.XXX.XXX:8080, вводимо пароль з попереднього пункту, обираємо встановлення рекомендованих плагінів та переходимо на http://XXX.XXX.XXX.XXX:8080/blue howto-ci-cd-for-magento-2-1

  2. Jenkins працює

Посилання

Author

Олександр Бобилєв

Залишаю собі право використовувати ненормативну (але інформативну) лексику там, де звичайні слова втрачають сенс і не відображають всієї палітри почуттів, від споглядання навколишньої дійсності.