All Products
Search
Document Center

Container Service for Kubernetes:Bangun dan sebarkan aplikasi dengan Jenkins di ACK

Last Updated:Jun 21, 2026

Jenkins digunakan untuk menerapkan integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD). Anda dapat menyebarkan Jenkins di kluster Container Service for Kubernetes (ACK) guna memastikan ketersediaan tinggi layanan dan mengurangi biaya operasional serta pemeliharaan (O&M). Topik ini menjelaskan cara menyebarkan Jenkins di kluster ACK, lalu membuat dan menyebarkan aplikasi sederhana.

Prasyarat

Perhatian

Tidak tersedia dukungan teknis untuk Jenkins. Pengembang yang menggunakan Jenkins harus memeliharanya sendiri.

Penting

Grafik Helm dan gambar kontainer untuk Jenkins berasal dari repositori di luar Tiongkok Daratan, yang dapat menyebabkan kegagalan saat menarik gambar. Anda dapat menggunakan salah satu solusi berikut:

Langkah 1: Sebarkan Jenkins

  1. Tambahkan 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 bernama 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="<YOUR_SECURE_PASSWORD>" 
      • persistence.storageClass: Wajib. Menentukan kelas penyimpanan untuk volume persisten yang menyimpan direktori jenkins_home. Jika Anda mengaturnya ke "alicloud-disk-available", sistem akan secara otomatis memilih tipe disk cloud yang tersedia.

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

      • controller.serviceType: Opsional. Menentukan tipe layanan. Nilai default-nya adalah ClusterIP.

      • controller.admin.password: Opsional. Menentukan kata sandi untuk pengguna admin. Jika tidak ditentukan, Jenkins akan menghasilkan kata sandi acak.

      Untuk informasi lebih lanjut tentang parameter lainnya, lihat helm-charts.

    3. Periksa status Pod Jenkins dan tunggu hingga masuk ke status Running.

      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 layanan.

    Jika Anda mengatur tipe layanan ke LoadBalancer, gunakan alamat IP eksternal untuk mengakses Dasbor Jenkins di browser Anda.
    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) Langkah 2: Buat pipeline

Bagian ini menggunakan contoh pembuatan pipeline first-pipeline untuk menunjukkan cara membuat pipeline build. Saat Anda membuat pipeline build, Jenkins secara dinamis meluncurkan Pod slave di kluster ACK dan menjalankan build secara default. Setelah Jenkins selesai menjalankan build, Pod slave tersebut langsung dilepas. Untuk informasi lebih lanjut tentang konfigurasi Jenkins, lihat Jenkins.

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

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

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

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

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

FAQ

Bagaimana cara mengambil password default Jenkins?

Jika Anda tidak menentukan kata sandi saat penerapan, jalankan perintah berikut untuk mengambil kata sandi default:

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