All Products
Search
Document Center

Container Service for Kubernetes:Menyebar Jenkins di Kluster ACK dan Menyelesaikan Pembuatan serta Penyebaran Aplikasi

Last Updated:Mar 11, 2026

Jenkins menerapkan proses continuous integration dan continuous deployment (CI/CD). Sebarkan Jenkins di kluster ACK untuk memastikan ketersediaan tinggi (high availability/HA) layanan dan mengurangi biaya operasional serta pemeliharaan (O&M). Topik ini menjelaskan cara menyebar Jenkins di kluster ACK dan mendemonstrasikan prosedur pembuatan serta penyebarannya menggunakan contoh aplikasi sederhana.

Prasyarat

Catatan

Pengembang bertanggung jawab atas pemeliharaan sistem Jenkins. Bagian ini tidak menyediakan dukungan teknis tingkat enterprise.

Penting

Helm Chart dan gambar yang digunakan oleh Jenkins berasal dari sumber luar negeri, yang dapat menyebabkan kegagalan menarik gambar (pull). Rujuk solusi berikut:

Langkah 1: Sebarkan Jenkins

  1. Konfigurasikan repositori Helm Jenkins.

    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!⎈
  2. Instal Jenkins.

    1. Buat namespace cicd.

      kubectl create ns cicd
    2. Sebarkan Jenkins ke namespace cicd.

      helm -n cicd install jenkins jenkins/jenkins \
        --set persistence.storageClass="alicloud-disk-essd" \
        --set persistence.size="20Gi" \
        --set controller.serviceType="LoadBalancer"   \
        --set controller.admin.password="****" 
      • persistence.storageClass: Wajib. Membuat persistent volume berbasis cloud disk untuk penyimpanan persisten direktori jenkins_home. Jika diatur ke "alicloud-disk-available", sistem akan secara otomatis memilih tipe cloud disk yang tersedia.

      • persistence.size: Wajib. Ukuran cloud disk. Spesifikasi minimum untuk cloud disk ECS Alibaba Cloud adalah 20 GiB.

      • controller.serviceType: Opsional. Tipe Service. Nilai default-nya adalah ClusterIP.

      • controller.admin.password: Opsional. Menentukan kata sandi admin. Secara default, kata sandi acak akan dihasilkan.

      Untuk parameter penyebaran lainnya, lihat helm-charts.

    3. Periksa dan tunggu hingga Pod Jenkins berjalan normal.

      kubectl -n cicd get po

      Output yang diharapkan:

      NAME        READY   STATUS    RESTARTS   AGE
      jenkins-0   2/2     Running   0          3m3s
  3. Lihat alamat IP eksternal Service.

    Jika Anda menyebar Service LoadBalancer, akses layanan Jenkins melalui browser.
    kubectl get -n cicd service

    Output yang diharapkan:

    NAME            TYPE           CLUSTER-IP        EXTERNAL-IP     PORT(S)          AGE
    jenkins         LoadBalancer   192.168.***.***   8.222.***.***   8080:30949/TCP   2d17h
    jenkins-agent   ClusterIP      192.168.***.*     <none>          50000/TCP        2d17h

(Opsional) Buat Tugas Pipeline

Sebagai contoh, buat tugas pipeline bernama first-pipeline. Saat membangun pipeline, Jenkins secara dinamis memulai Pod Slave dari kluster ACK saat ini secara default dan mengeksekusi tugas build. Setelah tugas build selesai, Pod Slave tersebut segera dilepas. Untuk informasi konfigurasi Jenkins lebih lanjut, lihat Jenkins.

  1. Masuk ke Jenkins. Di panel navigasi sebelah kiri, klik New Item.

  2. Di area Enter an item name, masukkan nama first-pipeline, pilih tipe Pipeline, lalu klik OK.

  3. Di bagian atas halaman, klik tab Pipeline, pilih templat Hello World, lalu klik Save.

    pipeline

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

  5. Di panel navigasi sebelah kiri, klik Build History, lalu klik 1# untuk membuka halaman detail pipeline, kemudian klik Console Output untuk melihat hasil build pipeline.

FAQ

Bagaimana Cara Mendapatkan Password Acak Default Jenkins?

Jika Anda tidak menentukan kata sandi logon saat menyebar Jenkins, jalankan perintah berikut untuk mendapatkan password acak default Jenkins.

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