Terapkan Jenkins pada kluster ACK Serverless melalui Helm untuk menjalankan build pada pod yang disediakan secara dinamis.
Prasyarat
-
Kluster ACK Serverless telah dibuat.
-
kubectl telah terhubung ke kluster Anda.
Pertimbangan
Anda bertanggung jawab atas pemeliharaan Jenkins. Dukungan teknis tingkat enterprise tidak disediakan.
Langkah 1: Terapkan Jenkins
-
Tambahkan dan perbarui repositori Helm Jenkins.
helm repo add jenkins https://charts.jenkins.io helm repo updateOutput 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!⎈CatatanRepositori Helm di-host di luar Tiongkok daratan. Pembaruan dari kluster di Tiongkok daratan mungkin memerlukan waktu lebih lama.
-
Instal Jenkins.
-
Buat namespace
cicd.kubectl create ns cicd -
Buat volume penyimpanan NAS bersama.
Tanpa volume persisten untuk direktori home Jenkins, konfigurasi akan hilang saat pod controller di-restart.
-
Terapkan Jenkins ke 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: Wajib. Nama PVC. Contoh ini menggunakan pvc-nas di namespace
cicd. -
controller.serviceType="LoadBalancer": Opsional. Jenis layanan default adalah ClusterIP.
-
controller.adminPassword="admin": Opsional. Jika tidak diatur, kata sandi acak akan dibuat. Lihat Akses Jenkins melalui LoadBalancer dan dapatkan kata sandi default.
Lihat helm-charts untuk semua parameter penerapan.
-
-
Periksa status pod Jenkins. Tunggu hingga pod berada dalam status Running.
kubectl -n cicd get poOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE jenkins-0 2/2 Running 0 3m3s
-
-
Buka Jenkins di browser dan login dengan kredensial Anda.
Langkah 2: Buat tugas pipeline
Contoh ini membuat pipeline bernama first-pipeline. Jenkins menyediakan pod slave secara dinamis untuk setiap build dan melepaskannya setelah selesai. Lihat dokumentasi Jenkins untuk detail konfigurasi.
-
Login ke Jenkins. Di panel navigasi kiri, klik New Item.
-
Di Enter an item name, masukkan first-pipeline, pilih Pipeline, lalu klik OK.
-
Klik tab Pipeline, pilih Hello World, lalu klik Save.
-
Di panel navigasi kiri, klik Build Now.
-
Di Build History, klik nomor build seperti #1. Klik Console Output.
Akses Jenkins dan dapatkan kata sandi default
-
Layanan Jenkins secara default menggunakan ClusterIP. Untuk mengeksposnya melalui load balancer:
kubectl -n cicd patch svc jenkins -p '{"spec": {"type": "LoadBalancer"}}' -
Jika tidak ada kata sandi yang ditetapkan selama penerapan, ambil kata sandi default:
kubectl -n cicd exec -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo