← Back to list

How to Setup Jenkins, Create Pipeline and Integrated with ArgoCD in Kubernetes

Berawal dari penasaran jika deploy jenkins diatas kubernetes akan seperti apa yaa, catetan ini merupakan hasil lab saya untuk mencoba…

Canda Kurniawan · 2026-05-19 16:11 · 2 claps · 3.6 min read
#devops #jenkins #argo-cd #ci-cd-pipeline
Open on Medium ↗
Wiki topics: ☁️ · DevOps & Cloud 🔭 · Astronomy & Space

How to Setup Jenkins, Create Pipeline and Integrated with ArgoCD in Kubernetes

Berawal dari penasaran jika deploy jenkins diatas kubernetes akan seperti apa yaa, catetan ini merupakan hasil lab saya untuk mencoba deploy jenkins diatas kubernetes

Sedikit ulasan Jenkins adalah alat open-source yang digunakan untuk otomatisasi proses pengembangan perangkat lunak. Ini membantu dalam otomatisasi tahap-tahap seperti pengujian, pengiriman, dan integrasi kode. Jenkins memungkinkan tim pengembang untuk membuat dan mengatur alur kerja (workflow) yang terstruktur dan otomatis, sehingga mempercepat siklus pengembangan perangkat lunak dan meningkatkan kualitas produk akhir.

Kali ini saya share untuk setup Pipeline Jenkins integrasi dengan ArgoCD, Untuk Setup jenkins mungkin bisa kalian install menggunakan docker atau sebagai nya , untuk yang sekarang saya memakai jenkins diatas Kubernetes.

Untuk pipeline jenkins saya flow nya akan seperti ini :

Provisioning kubernetes pod > Git Clone > Build Image > Push to Registry > Clean & Prep Workspace (didalam pod) > Update Tagging Image dari Manifest YAM > Commit & Push Manifest ke GitHub

Topologonya kurang lebih seperti ini :

Setup Jenkins

Setup PVC yaml (untuk menyimpan settingan jenkins agar jika restart settingan tidak hilang)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: jenkins-pvc
 namespace: jenkins
spec:
 accessModes:
 — ReadWriteOnce
 resources:
 requests:
 storage: 10Gi # Sesuaikan kapasitasnya
 #storageClassName: <NAMA_SC_ANDA> << karna bawaan kube sudah ada sc default maka ini bisa di hapus

Setup RBAC (ServiceAccount & ClusterRoleBinding) Ini memberikan izin kepada Jenkins untuk mengelola pod di dalam cluster

apiVersion: v1
kind: ServiceAccount
metadata:
 name: jenkins-admin
 namespace: jenkins
 — -
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
 name: jenkins-admin-binding
roleRef:
 apiGroup: rbac.authorization.k8s.io
 kind: ClusterRole
 name: cluster-admin
subjects:
 — kind: ServiceAccount
 name: jenkins-admin
 namespace: jenkins

Setup deployment & service


apiVersion: apps/v1
kind: Deployment
metadata:
 name: jenkins
 namespace: jenkins
spec:
 replicas: 1
 selector:
 matchLabels:
 app: jenkins
 template:
 metadata:
 labels:
 app: jenkins
 spec:
 serviceAccountName: jenkins-admin
 securityContext:
 fsGroup: 1000 #untuk izin akses volume
 containers:
 — name: jenkins
 image: jenkins/jenkins:lts
 ports:
 — containerPort: 8080
 — containerPort: 50000
 volumeMounts:
 — name: jenkins-data
 mountPath: /var/jenkins_home
 volumes:
 — name: jenkins-data
 persistentVolumeClaim:
 claimName: jenkins-pvc
 — -
apiVersion: v1
kind: Service
metadata:
 name: jenkins-service
 namespace: jenkins
spec:
 selector:
 app: jenkins
 type: NodePort
 ports:
 — name: http
 port: 8080
 targetPort: 8080
 nodePort: 32000 # Akses via IP-Node:32000
 — name: jnlp
 port: 50000
 targetPort: 50000

Buka localhost:8080 di browser , dan pakai di /var/lib/jenkins/secret/initialAdminPassword . Setelah login pilih Skip and continue as admin

kubectl exec -n jenkins deployment/jenkins — cat /var/jenkins_home/secrets/initialAdminPassword

login dengan user admin dan password yang ada di directory tersebut

Setup domain jenkins

Setup and Create Pipeline

Click new item

Pilih pipeline , dan beri nama

Centang This project is parameterized

Setup parameter seperti ini :

Parameter untuk mengatur branch di repository code

Setup script jenkins pipeline karna jenkins files saya ada di repo maka saya setting seperti berikut

Untuk jenkins pipeline nya seperti ini ya :

Setup credintials

manage jenkins > credintials > globals > addcredintials

tambahkan credintials repository dan registry private

Setting ArgoCD

Menghubungkan Repository ke ArgoCD

isi repository URL kemudian klik connect

Run Pipeline

Jalankan pipeline dan pilih Build with parameters

Tunggu pipeline sampai berhasil

Setelah pipeline berhasil , tunggu sampai si ArgoCD tertriger ada pembaharuan di repository deployment.yaml , Tinggal duduk santai untuk menunggu Service ter Deploy atau Terupdate 😁 .


메타데이터
post_id
a6763f1a43cc
slug
how-to-setup-jenkins-create-pipeline-and-integrated-with-argocd-in-kubernetes-a6763f1a43cc
url
https://medium.com/@candakurniawan/how-to-setup-jenkins-create-pipeline-and-integrated-with-argocd-in-kubernetes-a6763f1a43cc
canonical_url
https://medium.com/@candakurniawan/how-to-setup-jenkins-create-pipeline-and-integrated-with-argocd-in-kubernetes-a6763f1a43cc
author_url
https://medium.com/@candakurniawan
status
ok
fetched_at
2026-06-09 15:37:30