/ #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
    
  4. Запускаємо 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    | *************************************************************
    
  5. В браузері запускаємо http://XXX.XXX.XXX.XXX:8080, вводимо пароль з попереднього пункту, обираємо встановлення рекомендованих плагінів та переходимо на http://XXX.XXX.XXX.XXX:8080/blue howto-ci-cd-for-magento-2-1

  6. Jenkins працює

Посилання

Author

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

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