全部产品
Search
文档中心

Elastic Container Instance:Menerapkan Jenkins di kluster ACK Serverless lalu membuat dan menerapkan aplikasi

更新时间:Jul 02, 2025

Topik ini menjelaskan cara menerapkan Jenkins di kluster ACK Serverless, lalu membuat dan menerapkan aplikasi sederhana.

Prasyarat

Peringatan

Tidak ada dukungan teknis yang disediakan untuk Jenkins. Pengembang yang menggunakan Jenkins bertanggung jawab atas pemeliharaannya.

Langkah 1: Menerapkan Jenkins

  1. Jalankan perintah berikut untuk mengonfigurasi Jenkins Helm Repo:

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

    Output yang diharapkan:

    Tunggu sebentar sementara kami mengambil yang terbaru dari repositori bagan Anda...
    ...Berhasil mendapatkan pembaruan dari repositori bagan "jenkins"
    Pembaruan Selesai. ⎈Happy Helming!⎈
    Catatan

    Repositori sebelumnya adalah repositori bagan Helm yang diterapkan di luar Tiongkok. Oleh karena itu, konfigurasi mungkin memakan waktu jika Anda mengonfigurasi repositori dari kluster ACK Serverless yang diterapkan di daratan Tiongkok.

  2. Instal Jenkins.

    1. Jalankan perintah berikut untuk membuat namespace bernama cicd:

      kubectl create ns cicd
    2. Buat volume NAS.

      Buat volume NAS untuk menyimpan data di direktori home Jenkins. Jika tidak, semua konfigurasi Jenkins akan hilang setelah pod master Jenkins di-restart.

    3. Jalankan perintah berikut untuk menerapkan Jenkins di namespace cicd:

      helm -n cicd install jenkins jenkins/jenkins \
        --set persistence.existingClaim=pvc-nas \
        --set controller.serviceType="LoadBalancer"   \
        --set controller.adminPassword="admin"
      • persistence.existingClaim=pvc-nas: Atur nilai ke nama Persistent Volume Claim (PVC) yang digunakan untuk mount volume NAS. Dalam contoh ini, PVC bernama pvc-nas dan termasuk dalam namespace cicd. Parameter ini wajib.

      • controller.serviceType="LoadBalancer": Nilai defaultnya adalah ClusterIP. Parameter ini opsional.

      • controller.adminPassword="admin": Kata sandi default dihasilkan secara acak. Parameter ini opsional. Untuk informasi lebih lanjut tentang cara mendapatkan kata sandi default yang dihasilkan secara acak, lihat Gunakan Load Balancer untuk Mengakses Layanan Jenkins dan Mendapatkan Kata Sandi Default yang Dihasilkan Secara Acak.

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

    4. Jalankan perintah berikut untuk menanyakan status pod Jenkins 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. Gunakan browser web untuk mengakses Jenkins dan masukkan nama pengguna dan kata sandi Anda.

Langkah 2: Buat pembuatan pipeline

Bagian ini menggunakan pembuatan pipeline first-pipeline sebagai contoh untuk menunjukkan cara membuat pipeline. Saat Anda membuat pipeline, Jenkins secara dinamis meluncurkan pod slave di kluster ACK Serverless dan menjalankan build secara default. Setelah Jenkins selesai menjalankan build, ia segera melepaskan pod slave. Untuk informasi lebih lanjut tentang konfigurasi Jenkins, lihat Jenkins.

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

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

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

    pipeline

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

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

Gunakan load balancer untuk mengakses Layanan Jenkins dan mendapatkan kata sandi default yang dihasilkan secara acak

  • Tipe default dari Layanan Jenkins adalah ClusterIP. Jika Anda ingin menggunakan load balancer untuk mengekspos Layanan Jenkins, jalankan perintah berikut:

    kubectl -n cicd patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}'
  • Jika Anda tidak menentukan kata sandi saat menerapkan Jenkins, jalankan perintah berikut untuk mendapatkan kata sandi default, yang dihasilkan secara acak oleh Jenkins:

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