Topik ini menjelaskan cara menerapkan Jenkins di kluster ACK Serverless, lalu membuat dan menerapkan aplikasi sederhana.
Prasyarat
Sebuah kluster ACK Serverless telah dibuat. Untuk informasi lebih lanjut, lihat Buat Kluster ACK Serverless.
Klien kubectl terhubung ke kluster ACK Serverless. Untuk informasi lebih lanjut, lihat Hubungkan ke Kluster ACK Menggunakan kubectl.
Peringatan
Tidak ada dukungan teknis yang disediakan untuk Jenkins. Pengembang yang menggunakan Jenkins bertanggung jawab atas pemeliharaannya.
Langkah 1: Menerapkan Jenkins
Jalankan perintah berikut untuk mengonfigurasi Jenkins Helm Repo:
helm repo add jenkins https://charts.jenkins.io helm repo updateOutput yang diharapkan:
Tunggu sebentar sementara kami mengambil yang terbaru dari repositori bagan Anda... ...Berhasil mendapatkan pembaruan dari repositori bagan "jenkins" Pembaruan Selesai. ⎈Happy Helming!⎈CatatanRepositori 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.
Instal Jenkins.
Jalankan perintah berikut untuk membuat namespace bernama
cicd:kubectl create ns cicdBuat 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.
Jika Anda menggunakan Plugin Container Storage Interface (CSI), lihat Mount Volume NAS yang Diprovosion Secara Statis untuk membuat volume NAS.
Jika Anda menggunakan Plugin FlexVolume, lihat Mount Volume NAS yang Diprovosion Secara Statis untuk membuat volume NAS.
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.
Jalankan perintah berikut untuk menanyakan status pod Jenkins dan tunggu hingga pod Jenkins berjalan normal:
kubectl -n cicd get poOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE jenkins-0 2/2 Running 0 3m3s
Gunakan browser web untuk mengakses Jenkins dan masukkan nama pengguna dan kata sandi Anda.
Untuk informasi lebih lanjut, lihat Gunakan Load Balancer untuk Mengakses Layanan Jenkins dan Mendapatkan Kata Sandi Default yang Dihasilkan Secara Acak.
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.
Masuk ke Jenkins dan klik New Item di panel navigasi sebelah kiri.
Di bagian Enter an item name, masukkan first-pipeline, pilih Pipeline, lalu klik OK.
Di bagian atas halaman, klik tab Pipeline, pilih template Hello World, lalu klik Save.

Di panel navigasi sebelah kiri halaman, klik Build Now untuk menjalankan build.
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