Skip to main content

Apa itu Jenkins?

Jenkins adalah server otomatisasi sumber terbuka (open-source automation server) berbasis Java yang paling lama dan banyak digunakan di dunia enterprise. Jenkins memungkinkan tim untuk mengotomatisasi seluruh proses pembuatan (building), pengujian (testing), dan penyebaran (deploying) perangkat lunak.

Arsitektur Jenkins: Controller & Agent (Master-Worker)

Dalam lingkungan produksi, Jenkins tidak mengeksekusi proses build berat di server utamanya. Jenkins menggunakan arsitektur terdistribusi:
  1. Jenkins Controller (Master): Bertanggung jawab menyajikan antarmuka web, mengelola plugin, menyimpan kredensial, dan membagikan tugas build.
  2. Jenkins Agents (Node): Mesin eksekutor terpisah yang bertugas menjalankan perintah build yang diperintahkan oleh Controller.

Menjalankan Jenkins Menggunakan Docker

Cara tercepat dan paling bersih untuk menjalankan Jenkins adalah menggunakan image resmi:

Langkah Setup Awal:

  1. Buka peramban ke http://ip-server-kamu:8080.
  2. Dapatkan password administrator awal dengan menjalankan:
  3. Pilih opsi Install suggested plugins.
  4. Buat akun Admin pertama dan URL Jenkins siap dipakai.

Pipeline as Code (Jenkinsfile)

Sama seperti GitHub Actions yang menggunakan YAML, praktik terbaik di Jenkins adalah menyimpan alur pipeline dalam berkas bernama Jenkinsfile di dalam repositori Git.

Declarative Pipeline (Format Modern & Direkomendasikan)


Fitur Tingkat Lanjut Jenkins (Advanced Jenkins)

1. Eksekusi Tahapan Paralel (parallel)

Menjalankan pengujian multi-platform atau unit testing independen secara serentak untuk menghemat waktu total pipeline:

2. Konfirmasi Manual untuk Rilis Produksi (input)

Menerapkan konsep Continuous Delivery yang aman dengan meminta persetujuan manusia sebelum deploy ke server produksi:

3. Dynamic Kubernetes Agents (Jenkins di atas K8s)

Alih-alih menyalakan server agent yang memakan biaya terus-menerus, Jenkins dapat membuat Pod agent di Kubernetes saat ada antrean build, lalu Pod tersebut otomatis dihancurkan ketika build selesai (Ephemerally Scaled).
Last modified on October 26, 2026