Jenkins - Docker compose

Zkrácený návod pro instalaci Jenkins pomocí docker compose.

Share
Jenkins - Docker compose

Zkrácený návod pro instalaci Jenkins pomocí docker compose.

Kompletní návod: https://www.jenkins.io/doc/book/installing/docker/

  1. 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-lts

Tohle 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 docker

Aby 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.