Jenkins - Docker compose
Zkrácený návod pro instalaci Jenkins pomocí docker compose.
Zkrácený návod pro instalaci Jenkins pomocí docker compose.
Kompletní návod: https://www.jenkins.io/doc/book/installing/docker/
- Vygenerování image
FROM jenkins/jenkins:2.555.1-lts
USER root
RUN apt-get update && apt-get install -y lsb-release ca-certificates curl && \
install -m 0755 -d /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/debian $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" \
| tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && apt-get install -y docker-ce-cli && \
apt-get clean && rm -rf /var/lib/apt/lists/*
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow json-path-api"
Dockerfile
Pomocí tohoto Dockerfile sestavíme image:
sudo docker build -t jenkins:2.555.1-ltsTohle je prakticky jediná možnost jak do kontejneru dostat požadovaný software. Verze Dockerfile nahoře je rozšířená o docker-ce-cli. Jenkins kontejner totiž pouští docker kontejnery na hostujícím serveru. Výsledný docker-compose.yml může vypadat takto:
services:
jenkins:
container_name: jenkins
image: jenkins-docker:2.555.1-lts
restart: unless-stopped
group_add:
- "{dockerGID}"
ports:
- "{port}:8080"
volumes:
- ./jenkins-home:/var/jenkins_home
- ./jenkins-docker-certs:/certs/client
- /var/run/docker.sock:/var/run/docker.sock
docker-compose.yml
dockerGid zjistíme:
getent group dockerAby kontejner dokázal pouštět jiné kontejnery na hostujícím severu, musí být v patřičné skupině. /var/run/docker.sock:/var/run/docker.sock zase slouží k nasměrování k docker socketu na hostu, který docker ovládá.
Po spuštění by web měl vypadat takto:

Heslo zkopírovat podle návodu, taky je vidět v konzoli po spuštění. Zbytek instalace už probíhá v GUI.