Enable services, create an artifact registry and the GKE cluster
Periksa progres saya
/ 20
Create a container image with Cloud Build
Periksa progres saya
/ 20
Create the Continuous Integration (CI) Pipeline
Periksa progres saya
/ 20
Accessing GitHub from a build via SSH keys
Periksa progres saya
/ 20
Create the Test Environment and CD Pipeline
Periksa progres saya
/ 20
Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the student account, which may cause extra charges incurred to your personal account.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus
Pipeline Google Kubernetes Engine menggunakan Cloud Build
Lab
1 jam 30 menit
universal_currency_alt
5 Kredit
show_chart
Menengah
info
Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Uji dan bagikan pengetahuan Anda kepada komunitas kami.
done
Dapatkan akses ke lebih dari 700 lab praktik, badge keahlian, dan kursus
GSP1077
Ringkasan
Dalam lab ini, Anda akan membuat pipeline CI/CD yang otomatis membangun image container dari kode yang di-commit, menyimpan image di Artifact Registry, dan mengupdate manifes Kubernetes di repositori Git, serta men-deploy aplikasi ke Google Kubernetes Engine menggunakan manifes tersebut.
Untuk lab ini, Anda akan membuat 2 repositori Git:
app repository: berisi kode sumber dari aplikasi itu sendiri
env repository: berisi manifes untuk Deployment Kubernetes
Saat Anda mengirim perubahan pada app repository, pipeline Cloud Build akan menjalankan pengujian, membangun image container, dan mengirimnya ke Artifact Registry. Setelah mengirim image, Cloud Build mengupdate manifes Deployment dan mengirimnya ke env repository. Tindakan ini memicu pipeline Cloud Build lain yang menerapkan manifes ke cluster GKE dan, jika berhasil, menyimpan manifes di cabang env repository lain.
App repository dan env repository disimpan secara terpisah karena keduanya memiliki siklus proses dan penggunaan yang berbeda. Pengguna utama app repository adalah manusia asli dan repositori ini dikhususkan untuk aplikasi tertentu. Pengguna utama env repository adalah sistem otomatis (seperti Cloud Build), dan repositori ini mungkin digunakan bersama oleh beberapa aplikasi. Env repository dapat memiliki beberapa cabang yang masing-masing dipetakan ke lingkungan tertentu (Anda hanya menggunakan produksi dalam lab ini) dan mereferensikan image container tertentu, sedangkan app repository tidak demikian.
Setelah menyelesaikan lab ini, Anda memiliki sistem tempat Anda dapat dengan mudah:
Membedakan antara deployment yang gagal dan berhasil dengan melihat histori Cloud Build.
Mengakses manifes yang saat ini digunakan dengan melihat cabang produksi dari env repository.
Melakukan rollback ke versi sebelumnya dengan mengeksekusi kembali build Cloud Build yang sesuai.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
Membuat cluster Kubernetes Engine
Membuat Cloud Source Repositories
Memicu Cloud Build dari Cloud Source Repositories
Mengotomatiskan pengujian dan memublikasikan image container yang dapat di-deploy melalui Cloud Build
Mengelola resource yang di-deploy di cluster Kubernetes Engine melalui Cloud Build
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
Tombol Open Google Cloud console
Waktu tersisa
Kredensial sementara yang harus Anda gunakan untuk lab ini
Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
Klik Next.
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
Klik halaman berikutnya:
Setujui persyaratan dan ketentuan.
Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke YOUR_PROJECT_ID
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
(Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
Klik Authorize.
Output Anda sekarang akan terlihat seperti ini:
Output:
ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
Untuk menyetel akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
(Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project
Output:
[core]
project = <project_ID>
Contoh output:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Memulai Lab Anda
Di Cloud Shell, tetapkan project ID dan nomor project Anda. Simpan keduanya sebagai variabel PROJECT_ID dan PROJECT_NUMBER:
Pada tugas berikutnya, Anda akan menyiapkan Project Google Cloud untuk digunakan dengan mengaktifkan API yang diperlukan, memulai konfigurasi git di Cloud Shell, dan mendownload kode contoh yang nantinya digunakan dalam lab.
Jalankan perintah berikut untuk mengaktifkan API pada GKE, Cloud Build, Cloud Source Repositories, dan Container Analysis:
Jika Anda belum pernah menggunakan Git di Cloud Shell, konfigurasi Git dengan nama dan alamat email Anda. Git akan menggunakan keduanya untuk mengidentifikasi Anda sebagai penulis commit yang akan Anda buat di Cloud Shell (jika tidak memiliki akun github, Anda dapat mengisinya dengan informasi Anda saat ini. Akun tidak diperlukan untuk lab ini):
Klik Check my progress untuk memverifikasi tujuan.
Mengaktifkan layanan, membuat artifact registry dan cluster GKE
Tugas 2. Menghapus repositori Git di Cloud Source Repositories
Dalam tugas ini, Anda membuat dua repositori Git (hello-cloudbuild-app dan hello-cloudbuild-env) serta memulai hello-cloudbuild-app dengan beberapa kode contoh.
Di Cloud Shell, jalankan perintah berikut untuk membuat dua repositori Git:
Cloud Build mengalirkan log yang dihasilkan oleh pembuatan image container ke terminal saat Anda menjalankan perintah ini.
Setelah build selesai, di Konsol Cloud, buka Artifact Registry > Repositories untuk memastikan image container baru Anda benar-benar tersedia di Artifact Registry. Klik my-repository.
Klik Check my progress untuk memverifikasi tujuan.
Membuat image container dengan Cloud Build
Tugas 4. Membuat pipeline Continuous Integration (CI)
Dalam tugas ini, Anda akan mengonfigurasi Cloud Build untuk otomatis menjalankan pengujian unit kecil, membangun image container, lalu mengirimnya ke Artifact Registry. Mengirim commit baru ke Cloud Source Repositories akan otomatis memicu pipeline ini. File cloudbuild.yaml yang sudah disertakan dalam kode adalah konfigurasi pipeline.
Di Konsol Cloud, buka Cloud Build > Triggers.
Klik Create Trigger
Di kolom Name, ketik hello-cloudbuild.
Di bagian Event, pilih Push to a branch.
Di bagian Source, pilih hello-cloudbuild-app sebagai Repository dan .* (cabang apa pun) sebagai Branch.
Di bagian Build configuration, pilih Cloud Build configuration file.
Di kolom Cloud Build configuration file location, ketik cloudbuild.yaml setelah /.
Klik Create.
Setelah pemicu dibuat, kembali ke Cloud Shell. Kini Anda perlu mengirim kode aplikasi ke Cloud Source Repositories untuk memicu pipeline CI di Cloud Build.
Untuk memulai pemicu ini, jalankan perintah berikut:
cd ~/hello-cloudbuild-app
git add .
git commit -m "Type Any Commit Message here"
git push google master
Di Konsol Cloud, buka Cloud Build > Dashboard.
Anda akan melihat build yang sedang berjalan atau baru saja selesai. Anda dapat mengklik build untuk mengikuti eksekusinya dan memeriksa log-nya.
Klik Check my progress untuk memverifikasi tujuan.
Membuat Pipeline Continuous Integration (CI)
Tugas 5. Membuat Lingkungan Pengujian dan pipeline CD
Cloud Build juga digunakan untuk pipeline continuous delivery. Pipeline dijalankan setiap kali commit dikirim ke cabang kandidat repositori hello-cloudbuild-env. Pipeline menerapkan manifes versi baru ke cluster Kubernetes dan, jika berhasil, menyalin manifes ke cabang produksi. Proses ini memiliki properti berikut:
Cabang kandidat adalah histori upaya deployment.
Cabang produksi adalah histori deployment yang berhasil.
Anda dapat melihat deployment yang berhasil dan gagal di Cloud Build.
Anda dapat melakukan rollback ke deployment sebelumnya dengan mengeksekusi ulang build yang sesuai di Cloud Build. Rollback juga memperbarui cabang produksi agar mencerminkan histori deployment secara akurat.
Selanjutnya, Anda akan memodifikasi pipeline continuous integration untuk memperbarui cabang kandidat repositori hello-cloudbuild-env, yang memicu pipeline continuous delivery.
Memberikan akses Cloud Build ke GKE
Untuk mend-deploy aplikasi di cluster Kubernetes, Cloud Build memerlukan peran Kubernetes Engine Developer serta Identity and Access Management.
Anda harus memulai repositori hello-cloudbuild-env dengan dua cabang (produksi dan kandidat) serta file konfigurasi Cloud Build yang menjelaskan proses deployment.
Langkah pertamanya adalah meng-clone repositori hello-cloudbuild-env dan membuat cabang produksi. Repositori tersebut masih kosong.
Di Cloud Shell, jalankan perintah berikut:
cd ~
gcloud source repos clone hello-cloudbuild-env
cd ~/hello-cloudbuild-env
git checkout -b production
Selanjutnya, Anda perlu menyalin file cloudbuild-delivery.yaml yang tersedia di repositori hello-cloudbuild-app dan meng-commit perubahan:
cd ~/hello-cloudbuild-env
cp ~/hello-cloudbuild-app/cloudbuild-delivery.yaml ~/hello-cloudbuild-env/cloudbuild.yaml
git add .
git commit -m "Create cloudbuild.yaml for deployment"
File cloudbuild-delivery.yaml menjelaskan proses deployment untuk dijalankan di Cloud Build. Proses ini memiliki dua langkah:
Cloud Build menerapkan manifes di cluster GKE.
Jika berhasil, Cloud Build menyalin manifes di cabang produksi.
Buat cabang kandidat dan kirim cabang agar tersedia di Cloud Source Repositories:
Di bagian Source, pilih hello-cloudbuild-env sebagai Repository dan ^candidate$ sebagai Branch.
Di bagian Build configuration, pilih Cloud Build configuration file.
Di kolom Cloud Build configuration file location, ketik cloudbuild.yaml setelah /.
Klik Create.
Ubah pipeline continuous integration untuk memicu pipeline continuous delivery.
Selanjutnya, tambahkan beberapa langkah ke pipeline continuous integration yang akan menghasilkan manifes Kubernetes versi baru dan kirim ke repositori hello-cloudbuild-env untuk memicu pipeline continuous delivery.
Salin file cloudbuild.yaml versi yang diperluas untuk app repository:
cd ~/hello-cloudbuild-app
cp cloudbuild-trigger-cd.yaml cloudbuild.yaml
cloudbuild-trigger-cd.yaml adalah file cloudbuild.yaml versi yang diperluas. File tersebut menambahkan langkah-langkah di bawah: menghasilkan manifes Kubernetes baru dan memicu pipeline continuous delivery.
Pipeline ini menggunakan sed simpel untuk merender template manifes. Pada kenyataannya, Anda akan mendapatkan manfaat dari penggunaan alat khusus seperti kustomize atau skaffold. Alat ini memberi Anda lebih banyak kontrol terhadap proses rendering template manifes.
Lakukan commit pada modifikasi dan kirimkan ke Cloud Source Repositories:
cd ~/hello-cloudbuild-app
git add cloudbuild.yaml
git commit -m "Trigger CD pipeline"
git push google master
Tindakan ini memicu pipeline continuous integration di Cloud Build.
Klik Check my progress untuk memverifikasi tujuan.
Membuat Lingkungan Pengujian dan Pipeline CD
Tugas 6. Meninjau Pipeline Cloud Build
Di Konsol Cloud, buka Cloud Build > Dashboard.
Klik pemicu hello-cloudbuild-app untuk mengikuti eksekusinya dan memeriksa log-nya. Langkah terakhir dari pipeline ini mengirim manifes baru ke repositori hello-cloudbuild-env, yang memicu pipeline continuous delivery.
Kembali ke Dashboard utama.
Anda akan melihat build yang sedang berjalan atau baru saja selesai untuk repositori hello-cloudbuild-env. Anda dapat mengklik build untuk mengikuti eksekusinya dan memeriksa log-nya.
Tugas 7. Menguji pipeline yang lengkap
Pipeline CI/CD lengkap kini dikonfigurasi. Uji pipeline secara end-to-end.
Seharusnya terdapat layanan tunggal bernama hello-cloudbuild dalam daftar. Layanan ini dibuat oleh build continuous delivery yang baru saja berjalan.
Klik endpoint untuk layanan hello-cloudbuild. Anda akan melihat "Hello World!". Jika tidak ada endpoint, atau jika terjadi error load balancer, Anda mungkin harus menunggu beberapa menit sampai load balancer benar-benar dimulai. Klik Refresh untuk memperbarui halaman jika diperlukan.
Di Cloud Shell, ganti "Hello World" dengan "Hello Cloud Build", di aplikasi dan di pengujian unit:
cd ~/hello-cloudbuild-app
sed -i 's/Hello World/Hello Cloud Build/g' app.py
sed -i 's/Hello World/Hello Cloud Build/g' test_app.py
Lakukan commit pada perubahan tersebut dan kirim ke Cloud Source Repositories:
Tindakan ini akan memicu pipeline CI/CD yang lengkap.
Setelah beberapa menit, muat ulang aplikasi di browser. Anda akan melihat "Hello Cloud Build!".
Tugas 8. Menguji rollback
Dalam tugas ini, Anda akan melakukan rollback ke versi aplikasi yang bertuliskan "Hello World!".
Di Konsol Cloud, buka Cloud Build > Dashboard.
Klik link View all di bagian Build History untuk repositori hello-cloudbuild-env.
Klik build yang kedua paling baru yang tersedia.
Klik Rebuild.
Setelah build selesai, muat ulang aplikasi di browser. Anda akan melihat "Hello World!" lagi.
Selamat!
Sekarang Anda dapat menggunakan Cloud Build untuk membuat dan melakukan rollback pada pipeline continuous integration dengan GKE di Google Cloud.
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui: 26 Januari 2024
Lab Terakhir Diuji: 19 Januari 2024
Hak cipta 2025 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.
Labs create a Google Cloud project and resources for a fixed time
Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
On the top left of your screen, click Start lab to begin
Use private browsing
Copy the provided Username and Password for the lab
Click Open console in private mode
Sign in to the Console
Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
Accept the terms, and skip the recovery resource page
Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project
Konten ini tidak tersedia untuk saat ini
Kami akan memberi tahu Anda melalui email saat konten tersedia
Bagus!
Kami akan menghubungi Anda melalui email saat konten tersedia
One lab at a time
Confirm to end all existing labs and start this one
Use private browsing to run the lab
Use an Incognito or private browser window to run this lab. This
prevents any conflicts between your personal account and the Student
account, which may cause extra charges incurred to your personal account.
Buat pipeline CI/CD yang otomatis membangun image container, menyimpan image di Artifact Registry, mengupdate manifes Kubernetes di repositori Git, dan men-deploy aplikasi ke Google Kubernetes Engine.