Introduction
Jenkins adalah Tools otomasi open-source yang membantu mengotomatisasi berbagai tahap dalam proses pengembangan aplikasi, seperti build, test, dan deployment. Dengan Jenkins, tim pengembang dapat mengatur Continuous Integration (CI) dan Continuous Delivery (CD), memastikan kode yang ditulis dapat diuji dan di-deploy secara otomatis dan konsisten. Alat ini mendukung berbagai plugin, memudahkan integrasi dengan banyak tools dan platform yang digunakan dalam pengembangan modern. Cocok untuk tim yang ingin meningkatkan efisiensi dan kualitas dalam pengembangan aplikasi.
Tools
- Docker-compose / Portainer
- Instance for installation Jenkins
Berikut adalah beberapa tahap untuk membuat jenkins di self-hosted:
1. Create Jenkins Ocean-blue
Create Dockerfile
FROM jenkins/jenkins:2.452.3-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
docker build -t myjenkins-blueocean:2.452.3-1 .
2. Create Docker-compose
Create Docker-compose , disini nanti ada 2 stage atau service yaitu si jenkins dan docker dind (dimana berfungsi sebagai agent nantinya ketika CICD nya berjalan).
version: '3.8'
services:
jenkins-docker:
image: docker:dind
container_name: jenkins-docker
privileged: true
restart: on-failure
networks:
- jenkins
environment:
DOCKER_TLS_CERTDIR: /certs
volumes:
- jenkins-docker-certs:/certs/client
- jenkins-data:/var/jenkins_home
ports:
- 2376:2376
command: --storage-driver overlay2
jenkins-blueocean:
image: myjenkins-blueocean:2.452.3-1
container_name: jenkins-blueocean
restart: on-failure
networks:
- jenkins
environment:
DOCKER_HOST: tcp://docker:2376
DOCKER_CERT_PATH: /certs/client
DOCKER_TLS_VERIFY: 1
volumes:
- jenkins-data:/var/jenkins_home
- jenkins-docker-certs:/certs/client:ro
ports:
- 5000:8080
- 50000:50000
networks:
jenkins:
driver: bridge
volumes:
jenkins-data:
jenkins-docker-certs:
3. Check Container
Setelah compose sudah dijalankan, maka nanti akan ada 2 container yang jalan kemudian periksa url / localhost kalian, dan disesuaikan untuk nama hostnya

Untuk portnya default dari Jenkins adalah 8080 , tapi disini saya menggantinya menjadi 5000, jadi aksesnya http://localhost:5000
Cara untuk buka password jenkins : https://www.jenkins.io/doc/book/installing/docker/


Admin website igunawan.com, System Administrator, DevOps Engineer
