Jump to content

Setup Jenkins: Difference between revisions

From Haidhi Wiki
Line 44: Line 44:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
docker run \
docker run \
   --name jenkins-blueocean \
   --name jenkins-container \
   --restart=on-failure \
   --restart=on-failure \
   --detach \
   --detach \
Line 55: Line 55:
   --volume jenkins-data:/var/jenkins_home \
   --volume jenkins-data:/var/jenkins_home \
   --volume jenkins-docker-certs:/certs/client:ro \
   --volume jenkins-docker-certs:/certs/client:ro \
   myjenkins-blueocean:2.492.3-1
   myjenkins
</syntaxhighlight>
</syntaxhighlight>

Revision as of 04:34, 21 April 2025

Jenkins Network

docker network create jenkins

docker:dind

docker run \
  --name jenkins-docker \
  --rm \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind \
  --storage-driver overlay2

Jenkins Docker Image

FROM jenkins/jenkins:2.492.3-jdk17
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 "gitlab docker-workflow"

Lalu Build

docker build -t myjenkins .

Lalu Run

docker run \
  --name jenkins-container \
  --restart=on-failure \
  --detach \
  --network jenkins \
  --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client \
  --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 \
  --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  myjenkins