Create the lab resources

Periksa progres saya

/ 20

Create the Cloud Build Triggers

Periksa progres saya

/ 20

Deploy the first versions of the application

Periksa progres saya

/ 20

Deploy the second versions of the application

Periksa progres saya

/ 20

Roll back the production deployment

Periksa progres saya

/ 20

Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP330

Lab mandiri Google Cloud

Ringkasan

Dalam challenge lab, Anda diberi sebuah skenario dan serangkaian tugas. Tidak ada petunjuk langkah demi langkah. Anda akan menggunakan keahlian yang dipelajari dari lab dalam kursus untuk mencari cara menyelesaikan sendiri tugas-tugas tersebut. Sistem pemberian skor otomatis (ditampilkan pada halaman ini) akan memberikan masukan tentang apakah Anda telah menyelesaikan tugas dengan benar atau tidak.

Saat mengikuti challenge lab, Anda tidak akan diajari konsep-konsep baru Google Cloud. Anda diharapkan dapat memperluas keahlian yang dipelajari, seperti mengubah nilai default dan membaca serta mengkaji pesan error untuk memperbaiki kesalahan Anda sendiri.

Untuk meraih skor 100%, Anda harus berhasil menyelesaikan semua tugas dalam jangka waktu tertentu.

Lab ini direkomendasikan bagi pelajar yang sudah mengikuti kursus Mengimplementasikan Alur Kerja DevOps di Google Cloud. Apakah Anda siap menghadapi tantangan ini?

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.

Skenario tantangan

Sebagai orang yang baru saja direkrut sebagai DevOps Engineer di Cymbal Superstore beberapa bulan silam, Anda telah mempelajari seluk beluk perusahaan dalam mengoperasikan website e-commercenya. Khususnya, tim DevOps yang tengah mengerjakan pipeline CI/CD berskala besar dan mereka membutuhkan bantuan Anda untuk membangunnya. Hal ini memungkinkan perusahaan membantu developer agar dapat mengotomatiskan tugas, berkolaborasi secara lebih efektif dengan tim lain, serta lebih sering meluncurkan software dengan lebih andal. Pengalaman Anda dalam menggunakan Git, Artifact Registry, Docker, dan Cloud Build akan sangat membantu, karena Cymbal Superstore bermaksud menggunakan layanan Google Cloud native dan praktik DevOps modern untuk pipeline mereka.

logo cymbal superstore

Sebelum memulai project ini, tim DevOps ingin agar Anda menunjukkan keahlian yang baru Anda pelajari. Sebagai bagian dari demonstrasi ini, mereka membuat daftar tugas yang harus Anda selesaikan dalam kurun waktu tertentu di lingkungan sandbox.

Tantangan Anda

Tugas Anda adalah sebagai berikut:

  • Membuat cluster GKE berdasarkan rangkaian konfigurasi yang diberikan.
  • Melakukan inisialisasi repositori Git di server Git khusus untuk menghosting kode aplikasi Go Anda.
  • Membuat Pemicu Cloud Build yang men-deploy aplikasi produksi dan pengembangan.
  • Mengirimkan update ke aplikasi dan membuat build baru.
  • Me-roll back aplikasi produksi ke versi sebelumnya.

Secara umum, Anda akan membuat pipeline CI/CD sederhana menggunakan repositori Git di server Git khusus, Artifact Registry, dan Cloud Build.

Tugas 1. Membuat resource lab

Di bagian ini, Anda akan melakukan inisialisasi terhadap project Google Cloud Anda untuk lingkungan demo. Anda akan memperoleh variabel lingkungan, mengaktifkan API yang diperlukan, mengonfigurasi Git di Cloud Shell, membuat repositori Docker Artifact Registry, dan membuat cluster GKE untuk menjalankan aplikasi produksi dan pengembangan Anda.

  1. Di Cloud Shell, jalankan perintah berikut untuk menetapkan project ID, region, dan IP server Git Anda:
export PROJECT_ID=$(gcloud config get-value project) export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)') export REGION={{{ project_0.default_region }}} export ZONE={{{ project_0.default_zone }}} gcloud config set compute/region $REGION gcloud config set compute/zone $ZONE export GIT_SERVER_IP=$(gcloud compute instances describe git-server --zone=$ZONE --format='get(networkInterfaces[0].accessConfigs[0].natIP)') echo "Git Server IP is: ${GIT_SERVER_IP}"
  1. Jalankan perintah berikut untuk mengaktifkan API GKE dan Cloud Build:
gcloud services enable container.googleapis.com \ cloudbuild.googleapis.com
  1. Tambahkan peran Kubernetes Developer ke akun layanan Cloud Build:
export PROJECT_ID=$(gcloud config get-value project) gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")@cloudbuild.gserviceaccount.com --role="roles/container.developer"
  1. Di Cloud Shell, konfigurasikan Git dengan nama pengguna dan email Anda:
git config --global user.name "Student" git config --global user.email "student@qwiklabs.net"
  1. Buat repositori Docker Artifact Registry dengan nama my-repository dalam region untuk menyimpan image container Anda.

  2. Buat cluster GKE Standard dengan nama hello-cluster menggunakan konfigurasi berikut:

Setelan Nilai
Zone
Release channel Regular
Cluster version 1.29 atau yang lebih baru
Cluster autoscaler Enabled
Number of nodes 3
Minimum nodes 2
Maximum nodes 6
  1. Buat namespace prod dan dev pada cluster Anda.

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat resource lab

Tugas 2. Menghubungkan ke repositori Git di server Git

Dalam tugas ini, Anda akan melakukan inisialisasi repositori sample-app di server Git khusus (git-server) dan mengirim kode contoh awal. Repositori ini menyimpan kode aplikasi Go Anda dan menjadi sumber utama untuk build.

  1. Gunakan perintah berikut untuk menyalin kode contoh ke direktori sample-app:
cd ~ gcloud storage cp -r gs://spls/gsp330/sample-app/* sample-app
  1. Jalankan perintah berikut untuk mengganti otomatis placeholder <your-region> dan <your-zone> di file cloudbuild-dev.yaml dan cloudbuild.yaml dengan region dan zona yang ditentukan dalam project Anda:
export REGION="{{{project_0.default_region | REGION}}}" export ZONE="{{{project_0.default_zone | ZONE}}}" for file in sample-app/cloudbuild-dev.yaml sample-app/cloudbuild.yaml; do sed -i "s/<your-region>/${REGION}/g" "$file" sed -i "s/<your-zone>/${ZONE}/g" "$file" done
  1. Lakukan inisialisasi repositori Git di direktori sample-app, buat commit pertama Anda dengan kode contoh, lalu kirim perubahan ke cabang master di server Git Anda:
cd ~/sample-app git init git remote add origin http://${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git git branch -m master git add . && git commit -m "initial commit" git push -u http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git master
  1. Buat cabang dengan nama dev, buat commit menggunakan kode contoh yang ditambahkan ke direktori sample-app, lalu kirim perubahan ke cabang dev:
cd ~/sample-app git checkout -b dev git push -u http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git dev
  1. Pastikan Anda memiliki kode contoh dan cabang yang tersimpan dalam repositori Git.

Kode yang baru saja di-clone berisi aplikasi Go sederhana yang memiliki dua titik entri: Red dan Blue. Masing-masing menampilkan kotak berwarna sederhana di halaman web, bergantung pada titik entri yang dituju.

Tugas 3. Membuat Pemicu Cloud Build

Di bagian ini, Anda akan membuat dua Pemicu Cloud Build.

  • Pemicu pertama bernama sample-app-prod-deploy akan membangun image container aplikasi Anda menggunakan file konfigurasi cloudbuild.yaml dan men-deploy-nya ke namespace prod di cluster GKE Anda.

  • Pemicu kedua bernama sample-app-dev-deploy akan membangun image container aplikasi Anda menggunakan file konfigurasi cloudbuild-dev.yaml dan men-deploy-nya ke namespace dev di cluster GKE Anda.

  1. Buat Pemicu Cloud Build dengan nama sample-app-prod-deploy:
gcloud builds triggers create manual \ --name="sample-app-prod-deploy" \ --inline-config="cloudbuild.yaml" \ --region={{{ project_0.default_region }}}
  1. Buat Pemicu Cloud Build dengan nama sample-app-dev-deploy:
gcloud builds triggers create manual \ --name="sample-app-dev-deploy" \ --inline-config="cloudbuild-dev.yaml" \ --region={{{ project_0.default_region }}}

Setelah menyiapkan pemicu, Anda dapat menjalankan pipeline Cloud Build terkait, yang akan membangun dan men-deploy aplikasi seperti yang ditentukan dalam file cloudbuild.yaml dan cloudbuild-dev.yaml.

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat Pemicu Cloud Build

Tugas 4. Men-deploy versi pertama aplikasi

Di bagian ini, Anda akan membangun versi awal aplikasi produksi dan aplikasi pengembangan.

Membangun deployment pengembangan pertama

  1. Di Cloud Shell, periksa file cloudbuild-dev.yaml di direktori sample-app untuk melihat langkah-langkah dalam proses build. Dalam file cloudbuild-dev.yaml, ganti <version> pada baris 9 dan 13 dengan v1.0.

  2. Buka file dev/deployment.yaml dan perbarui <todo> pada baris 17 dengan nama image container yang tepat. Selain itu, ganti variabel PROJECT_ID dengan project ID aktual di nama image container.

Catatan: Pastikan Anda menggunakan nama image container yang sama dalam file dev/deployment.yaml dan cloudbuild-dev.yaml.
  1. Buat commit dengan perubahan yang Anda lakukan pada cabang dev dan kirim perubahan ke server Git:
cd ~/sample-app git checkout dev git add . git commit -m "Deploy v1.0 on dev" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git dev
  1. Jalankan tugas build sample-app-dev-deploy:
cd ~/sample-app gcloud builds submit --config=cloudbuild-dev.yaml .
  1. Pastikan build Anda berhasil dijalankan di halaman Cloud Build History, dan pastikan aplikasi development-deployment di-deploy ke namespace dev di cluster.

  2. Ekspos deployment development-deployment ke layanan LoadBalancer dengan nama dev-deployment-service di port 8080, dan tetapkan port target container sesuai dengan yang ada di Dockerfile.

  3. Buka IP Load Balancer layanan dan tambahkan titik entri /blue di akhir URL untuk memastikan aplikasi telah aktif dan berjalan. URL akhirnya akan terlihat seperti berikut: http://34.135.97.199:8080/blue.

Membangun deployment produksi pertama

  1. Beralih ke cabang master. Periksa file cloudbuild.yaml di direktori sample-app untuk melihat langkah-langkah dalam proses build. Dalam file cloudbuild.yaml, ganti <version> pada baris 11 dan 16 dengan v1.0.

  2. Buka file prod/deployment.yaml dan perbarui <todo> pada baris 17 dengan nama image container yang tepat. Selain itu, ganti variabel PROJECT_ID dengan project ID aktual di nama image container.

Catatan: Pastikan Anda menggunakan nama image container yang sama dalam file prod/deployment.yaml dan cloudbuild.yaml.
  1. Buat commit dengan perubahan yang Anda lakukan pada cabang master dan kirim perubahan ke server Git:
cd ~/sample-app git checkout master git add . git commit -m "Deploy v1.0 on master" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git master
  1. Jalankan tugas build sample-app-prod-deploy:
cd ~/sample-app gcloud builds submit --config=cloudbuild.yaml .
  1. Pastikan build Anda berhasil dijalankan di halaman Cloud Build History, dan pastikan aplikasi production-deployment di-deploy ke namespace prod di cluster.

  2. Ekspos deployment production-deployment pada namespace prod ke layanan LoadBalancer dengan nama prod-deployment-service di port 8080, dan tetapkan port target container sesuai dengan yang ada di Dockerfile.

  3. Buka IP Load Balancer layanan dan tambahkan titik entri /blue di akhir URL untuk memastikan aplikasi telah aktif dan berjalan. URL akhirnya akan terlihat seperti berikut: http://34.135.245.19:8080/blue.

Klik Periksa progres saya untuk memverifikasi tujuan. Men-deploy versi pertama aplikasi

Tugas 5. Men-deploy versi kedua aplikasi

Di bagian ini, Anda akan membangun versi kedua aplikasi produksi dan aplikasi pengembangan.

Membangun deployment pengembangan kedua

  1. Beralih kembali ke cabang dev.
Catatan: Sebelum melanjutkan, pastikan Anda berada pada cabang dev guna membuat deployment untuk lingkungan dev.
  1. Di file main.go, perbarui fungsi main() menjadi:
func main() { http.HandleFunc("/blue", blueHandler) http.HandleFunc("/red", redHandler) http.ListenAndServe(":8080", nil) }
  1. Tambahkan fungsi berikut ke dalam file main.go:
func redHandler(w http.ResponseWriter, r *http.Request) { img := image.NewRGBA(image.Rect(0, 0, 100, 100)) draw.Draw(img, img.Bounds(), &image.Uniform{color.RGBA{255, 0, 0, 255}}, image.ZP, draw.Src) w.Header().Set("Content-Type", "image/png") png.Encode(w, img) }
  1. Periksa file cloudbuild-dev.yaml untuk melihat langkah-langkah dalam proses build. Update versi image Docker ke v2.0.

  2. Buka file dev/deployment.yaml dan perbarui nama image container ke versi baru (v2.0).

  3. Buat commit dengan perubahan yang Anda lakukan pada cabang dev dan kirim perubahan ke server Git:

cd ~/sample-app git checkout dev git add . git commit -m "Deploy v2.0 on dev" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git dev
  1. Jalankan tugas build sample-app-dev-deploy:
cd ~/sample-app gcloud builds submit --config=cloudbuild-dev.yaml .
  1. Pastikan build Anda berhasil dijalankan di halaman Cloud Build History, dan pastikan aplikasi development-deployment di-deploy ke namespace dev di cluster serta menggunakan image v2.0.

  2. Buka IP Load Balancer layanan dan tambahkan titik entri /red di akhir URL untuk memastikan aplikasi telah aktif dan berjalan. URL akhirnya akan terlihat seperti berikut: http://34.135.97.199:8080/red.

Catatan: Mungkin diperlukan waktu beberapa menit agar pembaruan diterapkan ke load balancer Anda.

Membangun deployment produksi kedua

  1. Beralih ke cabang master.
Catatan: Sebelum melanjutkan, pastikan Anda berada pada cabang master guna membuat deployment untuk lingkungan master.
  1. Di file main.go, perbarui fungsi main() menjadi:
func main() { http.HandleFunc("/blue", blueHandler) http.HandleFunc("/red", redHandler) http.ListenAndServe(":8080", nil) }
  1. Tambahkan fungsi berikut ke dalam file main.go:
func redHandler(w http.ResponseWriter, r *http.Request) { img := image.NewRGBA(image.Rect(0, 0, 100, 100)) draw.Draw(img, img.Bounds(), &image.Uniform{color.RGBA{255, 0, 0, 255}}, image.ZP, draw.Src) w.Header().Set("Content-Type", "image/png") png.Encode(w, img) }
  1. Periksa file cloudbuild.yaml untuk melihat langkah-langkah dalam proses build. Update versi image Docker ke v2.0.

  2. Buka file prod/deployment.yaml dan perbarui nama image container ke versi baru (v2.0).

  3. Buat commit dengan perubahan yang Anda lakukan pada cabang master dan kirim perubahan ke server Git:

cd ~/sample-app git checkout master git add . git commit -m "Deploy v2.0 on master" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git master
  1. Jalankan tugas build sample-app-prod-deploy:
cd ~/sample-app gcloud builds submit --config=cloudbuild.yaml .
  1. Pastikan build Anda berhasil dijalankan di halaman Cloud Build History, dan pastikan aplikasi production-deployment di-deploy ke namespace prod di cluster serta menggunakan image v2.0.

  2. Buka IP Load Balancer layanan dan tambahkan titik entri /red di akhir URL untuk memastikan aplikasi telah aktif dan berjalan. URL akhirnya akan terlihat seperti berikut: http://34.135.245.19:8080/red.

Catatan: Mungkin diperlukan waktu beberapa menit agar pembaruan diterapkan ke load balancer Anda.

Bagus! Anda berhasil membuat pipeline CI/CD produksi dan pengembangan yang berfungsi sepenuhnya.

Klik Periksa progres saya untuk memverifikasi tujuan. Men-deploy versi kedua aplikasi

Tugas 6. Me-roll back deployment produksi

Di bagian ini, Anda akan me-roll back deployment produksi ke versi sebelumnya.

  1. Roll back production-deployment untuk menggunakan versi v1.0 aplikasi.
Hint: Gunakan histori Cloud Build untuk me-roll back/membangun kembali deployment dengan versi sebelumnya secara mudah.
  1. Buka IP Load Balancer layanan dan tambahkan titik entri /red di akhir URL deployment produksi. Respons pada halaman tersebut seharusnya menampilkan 404.

Klik Periksa progres saya untuk memverifikasi tujuan. Me-roll back deployment produksi

Selamat!

Selamat! Di lab ini, Anda telah memverifikasi keahlian Anda dalam mengimplementasikan alur kerja DevOps di Google Cloud. Di awal, Anda membuat cluster GKE untuk menjalankan aplikasi dan repositori Git di server Git khusus untuk menghosting code base Anda. Selanjutnya, Anda membuat Pemicu Cloud Build, memodifikasi kode dan template, serta mengirim pembaruan ke repo yang membuat build aplikasi pengembangan dan aplikasi produksi pertama Anda. Kemudian, Anda mengirimkan update ke aplikasi untuk membuat build baru dan me-roll back aplikasi produksi ke versi sebelumnya. Anda kini siap untuk memulai tugas DevOps di lingkungan Anda sendiri.

Badge keahlian Mengimplementasikan Alur Kerja DevOps

Mendapatkan badge keahlian Anda berikutnya

Lab mandiri ini adalah bagian dari kursus Mengimplementasikan Alur Kerja DevOps di Google Cloud. Dengan menyelesaikan kursus badge keahlian ini, Anda akan mendapatkan badge di atas sebagai pengakuan atas pencapaian Anda. Tampilkan badge di resume atau platform media sosial Anda, dan umumkan pencapaian Anda menggunakan hashtag #GoogleCloudBadge.

Badge keahlian ini merupakan bagian dari alur pembelajaran Cloud DevOps Engineer dari Google Cloud. Lanjutkan proses pembelajaran Anda dengan mendaftarkan diri ke kursus Memantau dan Membuat Log dengan Google Cloud Observability.

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 pada 27 Agustus 2026

Lab Terakhir Diuji pada 27 Agustus 2026

Hak cipta 2026 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami dapat memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami dapat menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.