All Products
Search
Document Center

Container Service for Kubernetes:Deploy Jenkins di kluster ACK serverless dan selesaikan build serta deployment aplikasi

Last Updated:Mar 27, 2026

Tutorial ini memandu Anda melalui proses deployment Jenkins di kluster ACK Serverless menggunakan Helm, lalu menjalankan pipeline build pertama Anda. Jenkins menjalankan controller-nya pada pod persisten dan secara dinamis membuat pod agent di kluster untuk setiap tugas build.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Catatan penggunaan

Jenkins adalah tool open source yang dikelola oleh komunitas. Alibaba Cloud tidak menyediakan dukungan teknis untuk Jenkins. Anda bertanggung jawab atas pemeliharaan instalasi Jenkins Anda.

Langkah 1: Deploy Jenkins

Konfigurasikan repositori Helm

Tambahkan repositori Helm Jenkins dan perbarui indeks chart lokal Anda:

helm repo add jenkins https://charts.jenkins.io
helm repo update

Output yang diharapkan:

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jenkins" chart repository
Update Complete. Happy Helming!
Repositori Helm Jenkins di-hosting di luar Tiongkok daratan. Jika kluster ACK Serverless Anda dideploy di Tiongkok daratan, perintah helm repo update mungkin memerlukan waktu lebih lama dari biasanya.

Instal Jenkins

  1. Buat namespace cicd:

    kubectl create ns cicd
  2. Buat volume NAS untuk direktori home Jenkins. Tanpa penyimpanan persisten, semua konfigurasi Jenkins dan riwayat job akan hilang setiap kali pod controller direstart. Buat volume Network Attached Storage (NAS) dan persistent volume claim (PVC) bernama pvc-nas di namespace cicd sebelum melanjutkan:

  3. Deploy Jenkins di namespace cicd:

    helm -n cicd install jenkins jenkins/jenkins \
      --set persistence.existingClaim=pvc-nas \
      --set controller.serviceType="LoadBalancer" \
      --set controller.adminPassword="admin"
    Parameter Deskripsi Wajib
    persistence.existingClaim=pvc-nas Nama PVC yang memasang volume NAS. Harus sesuai dengan PVC yang Anda buat di namespace cicd. Ya
    controller.serviceType="LoadBalancer" Mengekspos layanan Jenkins secara eksternal melalui load balancer cloud. Nilai default-nya adalah ClusterIP, yang hanya dapat diakses dari dalam kluster. Di kluster ACK Serverless, atur nilai ini menjadi LoadBalancer agar Anda dapat mengakses UI Jenkins dari browser. Tidak
    controller.adminPassword="admin" Menetapkan password admin tetap. Jika diabaikan, Jenkins akan menghasilkan password acak. Lihat Get the randomly generated password jika Anda melewatkan parameter ini. Tidak

    Untuk semua parameter yang tersedia, lihat jenkins/helm-charts.

  4. Tunggu hingga pod controller Jenkins mencapai status Running:

    kubectl -n cicd get po

    Output yang diharapkan:

    NAME        READY   STATUS    RESTARTS   AGE
    jenkins-0   2/2     Running   0          3m3s

Akses Jenkins

Setelah pod berjalan, buka browser dan arahkan ke alamat IP eksternal layanan Jenkins. Login dengan username admin dan password yang Anda tetapkan saat instalasi.

Untuk mencari tahu alamat IP eksternal, jalankan:

kubectl -n cicd get svc jenkins

Kolom EXTERNAL-IP menampilkan IP load balancer.

Dapatkan password yang dihasilkan secara acak

Jika Anda tidak menetapkan controller.adminPassword saat instalasi, ambil password yang dihasilkan dengan perintah berikut:

kubectl -n cicd exec -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo

Ubah tipe Service setelah instalasi

Jika Anda mendeploy Jenkins dengan tipe Service default ClusterIP dan ingin mengeksposnya melalui load balancer setelah instalasi, jalankan:

kubectl -n cicd patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}'

Langkah 2: Buat pipeline build

Jenkins berintegrasi dengan kluster ACK Serverless melalui plugin Kubernetes. Saat Anda memicu build, Jenkins secara dinamis membuat pod agent di kluster untuk menjalankan tugas tersebut. Pod tersebut berisi kontainer jnlp yang berfungsi sebagai agent Jenkins dan terhubung kembali ke controller. Setelah build selesai, Jenkins segera menghentikan pod agent tersebut, sehingga sumber daya kluster hanya digunakan selama build aktif.

Langkah-langkah berikut membuat pipeline build bernama first-pipeline menggunakan templat Hello World.

  1. Login ke Jenkins dan klik New Item di panel navigasi sebelah kiri.

  2. Di bidang Enter an item name, ketik first-pipeline, pilih Pipeline, lalu klik OK.

  3. Di bagian atas halaman konfigurasi, klik tab Pipeline. Pilih templat Hello World dan klik Save.

    pipeline

  4. Di panel navigasi sebelah kiri, klik Build Now untuk memicu build.

  5. Setelah build dimulai, klik Build History di panel navigasi sebelah kiri, lalu klik 1# untuk membuka detail build. Klik Console Output untuk melihat log build dan memastikan build berhasil.

Langkah selanjutnya

  • Kustomisasi templat pod agent untuk menggunakan gambar kontainer tertentu atau tambahkan beberapa kontainer untuk build spesifik bahasa pemrograman. Lihat Jenkins Kubernetes Plugin.

  • Konfigurasikan manajemen kode sumber dan webhook untuk memicu pipeline build secara otomatis saat terjadi perubahan kode. Lihat Jenkins documentation.