Швидкий старт Jenkins в Debian 10 за допомогою Docker
Для швидкого старту системи CI/CD Jenkins скористаємось docker-ом. Працюємо в Debian 10, але рецепт певно спрацює для будь-якого deb-похідного дистрибутиву.
- Встановлюємо 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
- Встановлюємо 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
- Створюємо 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
- Запускаємо 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 | *************************************************************
-
В браузері запускаємо http://XXX.XXX.XXX.XXX:8080, вводимо пароль з попереднього пункту, обираємо встановлення рекомендованих плагінів та переходимо на http://XXX.XXX.XXX.XXX:8080/blue
-
Jenkins працює