/ #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
  2. Встановлюємо 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
  3. Створюємо 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

  1. Jenkins працює

Посилання

Author

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

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