Ringkasan
Di lab ini, Anda akan membangun image container Docker dari kode dan Dockerfile yang disediakan menggunakan Cloud Build. Kemudian, Anda akan mengupload container tersebut ke Artifact Registry.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Menggunakan Cloud Build untuk membangun dan mengirim container
- Menggunakan Artifact Registry untuk menyimpan dan men-deploy container
Penyiapan lab
Mengakses lab
Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri adalah panel Lab Details yang memuat sebagai 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 melihat menu yang berisi daftar produk dan layanan Google Cloud, klik Navigation menu di kiri atas, atau ketik nama layanan atau produk di kolom Search.
Setelah Anda menyelesaikan langkah login awal, dasbor project akan terbuka.
Mengaktifkan Google Cloud Shell
Google Cloud Shell adalah virtual machine yang dilengkapi dengan berbagai fitur pengembangan. Virtual machine ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud.
Google Cloud Shell menyediakan akses command line untuk resource Google Cloud Anda.
-
Di Cloud Console, pada toolbar di kanan atas, klik tombol Open Cloud Shell.

-
Klik Continue.
Proses menyediakan dan menghubungkan ke lingkungan memerlukan waktu beberapa saat. Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Contoh:

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
Output:
Akun berkredensial:
- @.com (aktif)
Contoh output:
Akun berkredensial:
- google1623327_student@qwiklabs.net
- Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project
Output:
[core]
project =
Contoh output:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Catatan:
Dokumentasi lengkap gcloud tersedia dalam
panduan ringkasan gcloud CLI
.
Tugas 1. Mengonfirmasi bahwa API yang diperlukan telah diaktifkan
-
Catat nama project Google Cloud Anda. Nilai ini ditampilkan di panel atas Konsol Google Cloud. Nilai akan berupa qwiklabs-gcp- diikuti dengan angka heksadesimal.
-
Di Konsol Google Cloud, pada Navigation menu(
), klik APIs & Services.
-
Klik Library.
-
Di kotak Search for APIs & Services, ketik Cloud Build.
-
Di kartu yang muncul untuk Cloud Build API, jika Anda tidak melihat pesan yang mengonfirmasi bahwa API tersebut sudah aktif, klik tombol Enable.
-
Gunakan tombol Back untuk kembali ke layar sebelumnya dengan kotak penelusuran. Di kotak penelusuran, ketik Artifact Registry.
-
Di kartu yang muncul untuk Google Artifact Registry API, jika Anda tidak melihat pesan yang mengonfirmasi bahwa API tersebut sudah aktif, klik tombol Enable.
Tugas 2. Membangun container dengan DockerFile dan Cloud Build
Anda dapat menulis file konfigurasi build untuk memberikan petunjuk ke Cloud Build mengenai tugas yang perlu dilakukan saat membangun container. File build ini dapat mengambil dependensi, menjalankan pengujian unit, analisis, dan lain-lain. Dalam tugas ini, Anda akan membuat DockerFile dan menggunakannya sebagai skrip konfigurasi build dengan Cloud Build. Anda juga akan membuat skrip shell sederhana (quickstart.sh) yang akan merepresentasikan aplikasi di dalam container.
-
Di kolom judul Konsol Google Cloud, klik Activate Cloud Shell.
-
Saat diminta, klik Authorize.
Cloud Shell akan terbuka di bagian bawah jendela Konsol Google Cloud.
- Buat file
quickstart.sh kosong menggunakan editor teks nano:
nano quickstart.sh
- Tambahkan baris berikut ke file
quickstart.sh:
#!/bin/sh
echo "Hello, world! The time is $(date)."
-
Simpan file dan tutup nano dengan menekan tombol CTRL+X, lalu tekan Y dan ENTER.
-
Buat file Dockerfile kosong menggunakan editor teks nano:
nano Dockerfile
- Tambahkan perintah Dockerfile berikut:
FROM alpine
Perintah ini memberi build petunjuk untuk menggunakan image dasar Alpine Linux.
- Tambahkan perintah Dockerfile berikut ke bagian akhir Dockerfile:
COPY quickstart.sh /
Perintah ini akan menambahkan skrip quickstart.sh ke direktori / di image.
- Tambahkan perintah Dockerfile berikut ke bagian akhir Dockerfile:
CMD ["/quickstart.sh"]
Perintah ini akan mengonfigurasi image untuk mengeksekusi skrip /quickstart.sh saat container terkait dibuat dan dijalankan.
Dockerfile Anda sekarang akan terlihat seperti ini:
FROM alpine
COPY quickstart.sh /
CMD ["/quickstart.sh"]
-
Simpan file dan tutup nano dengan menekan tombol CTRL+X, lalu tekan Y dan ENTER.
-
Di Cloud Shell, jalankan perintah berikut untuk membuat skrip quickstart.sh dapat dieksekusi:
chmod +x quickstart.sh
- Buat repositori Docker baru bernama
quickstart-docker-repo di lokasi dengan deskripsi "Docker repository"
gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
--location={{{project_0.default_region | "REGION"}}} --description="Docker repository"
- Di Cloud Shell, jalankan perintah berikut untuk membangun image container Docker di Cloud Build:
gcloud builds submit --tag {{{project_0.default_region | "REGION"}}}-docker.pkg.dev/${DEVSHELL_PROJECT_ID}/quickstart-docker-repo/quickstart-image:tag1
Setelah build selesai, image Docker Anda akan dibangun dan dikirim ke Artifact Registry.
- Di Konsol Google Cloud, di Search Bar (Terletak di bagian atas jendela konsol), Telusuri Artifact Registry.
Catatan: Jika Anda tidak melihat kotak penelusuran, klik ikon kaca pembesar.
Catatan: Anda mungkin melihat pesan pop-up yang menyatakan Navigating away will reset your view. Klik tombol Got it untuk melanjutkan.
- Klik repositori bernama
quickstart-docker-repo.
Image Docker quickstart-image akan muncul dalam daftar.
Tugas 3. Membangun container dengan file konfigurasi build dan Cloud Build
Cloud Build juga mendukung file konfigurasi build kustom. Dalam tugas ini, Anda akan menggabungkan container Docker yang sudah ada menggunakan file build berformat YAML kustom dengan Cloud Build.
Mari buat file konfigurasi build cloud kustom contoh bernama cloudbuild.yaml.
- Buat dan buka file bernama
cloudbuild.yaml dengan nano menggunakan perintah berikut:
nano cloudbuild.yaml
- Setelah nano terbuka, tempel teks berikut ke file
cloudbuild.yaml:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
images:
- 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
-
Tekan Ctrl+O, lalu tekan Enter untuk menyimpan file yang diedit.
-
Tekan Ctrl+X untuk keluar dari editor teks nano.
-
Jalankan perintah di bawah untuk menetapkan variabel region dan menyisipkan nilai tersebut ke dalam file yaml.
export REGION={{{project_0.default_region | "REGION"}}}
sed -i "s/YourRegionHere/$REGION/g" cloudbuild.yaml
- Di Cloud Shell, jalankan perintah berikut untuk melihat isi
cloudbuild.yaml:
cat cloudbuild.yaml
Anda akan melihat hasil berikut:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
images:
- '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
File ini memberi Cloud Build petunjuk untuk menggunakan Docker dalam membangun image menggunakan spesifikasi Dockerfile di direktori lokal saat ini, memberinya tag dengan gcr.io/$PROJECT_ID/quickstart-image ($PROJECT_ID adalah variabel pengganti yang otomatis diisi oleh Cloud Build dengan project ID dari project terkait), lalu mengirimkan image tersebut ke Artifact Registry.
- Di Cloud Shell, jalankan perintah berikut untuk memulai Cloud Build menggunakan
cloudbuild.yaml sebagai file konfigurasi build:
gcloud builds submit --config cloudbuild.yaml
Output build ke Cloud Shell harus sama seperti sebelumnya. Setelah build selesai, versi baru dari image yang sama akan dikirim ke Artifact Registry.
-
Di Konsol Google Cloud, di Search Bar (Terletak di bagian atas jendela konsol), Telusuri Artifact Registry.
-
Di hasil penelusuran, klik Artifact Registry.
-
Klik repositori bernama quickstart-docker-repo > quickstart-image.
Dua versi quickstart-image kini ada dalam daftar.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membangun dua image container di Cloud Build
-
Di Konsol Google Cloud, di Search Bar (Terletak di bagian atas jendela konsol), Telusuri Cloud Build.
-
Di hasil penelusuran, klik Cloud Build.
-
Di Cloud Build, klik History.
Dua build muncul dalam daftar.
-
Klik ID build untuk build di bagian atas daftar.
Detail build, termasuk log build, akan ditampilkan.
Tugas 4. Membangun dan menguji container dengan file konfigurasi build dan Cloud Build
Keunggulan terbesar file konfigurasi build kustom adalah kemampuannya untuk melakukan tindakan lain, secara paralel atau berurutan, selain membangun container: menjalankan pengujian di container yang baru dibangun, mengirimkannya ke berbagai tujuan, dan bahkan men-deploy-nya ke Kubernetes Engine.
Dalam tugas ini, kita akan melihat contoh sederhana, file konfigurasi build yang menguji container yang dibangun file itu sendiri dan melaporkan hasil ke lingkungan pemanggilnya.
Langkah pertama adalah mengubah file quickstart.sh.
-
Di Cloud Shell, buka quickstart.sh di nano.
nano quickstart.sh
-
Ganti yang ada dengan teks berikut:
#!/bin/sh
if [ -z "$1" ]
then
echo "Hello, world! The time is $(date)."
exit 0
else
exit 1
fi
-
Tekan Ctrl+O, lalu tekan Enter untuk menyimpan file yang diedit.
-
Tekan Ctrl+X untuk keluar dari editor teks nano.
Mari kita buat file konfigurasi build cloud kustom baru bernama cloudbuild2.yaml. File ini telah sedikit dimodifikasi untuk mendemonstrasikan kemampuan Cloud Build dalam menguji container yang dibangun file itu sendiri.
- Buat dan buka file bernama
cloudbuild2.yaml dengan nano menggunakan perintah berikut:
nano cloudbuild2.yaml
- Setelah nano terbuka, tempel teks berikut ke file
cloudbuild2.yaml:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
- name: 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
args: ['fail']
images:
- 'YourRegionHere-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
-
Tekan Ctrl+O, lalu tekan Enter untuk menyimpan file yang diedit.
-
Tekan Ctrl+X untuk keluar dari editor teks nano.
-
Jalankan perintah di bawah untuk menyisipkan nilai region ke dalam file yaml.
sed -i "s/YourRegionHere/$REGION/g" cloudbuild2.yaml
- Di Cloud Shell, jalankan perintah berikut untuk melihat isi
cloudbuild2.yaml:
cat cloudbuild2.yaml
Anda akan melihat hasil berikut:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1', '.' ]
- name: 'gcr.io/$PROJECT_ID/quickstart-image'
args: ['fail']
images:
- '{{{project_0.default_region | "REGION"}}}-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
Selain tindakan sebelumnya, file konfigurasi build ini menjalankan quickstart-image yang telah dibuatnya. Dalam tugas ini, skrip quickstart.sh telah diubah sehingga menyimulasikan kegagalan uji saat argumen ['fail'] diteruskan ke skrip tersebut.
- Di Cloud Shell, jalankan perintah berikut untuk memulai Cloud Build menggunakan
cloudbuild.yaml sebagai file konfigurasi build:
gcloud builds submit --config cloudbuild2.yaml
Anda akan melihat output dari perintah yang diakhiri dengan teks seperti ini:
Output
BUILD FAILURE: Build step failure: build step 1 "us-east1-docker.pkg.dev/qwiklabs-gcp-02-1c7ba5c697a0/quickstart-docker-repo/quickstart-image:tag1" failed: starting step container failed: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "fail": executable file not found in $PATH: unknown
ERROR: (gcloud.builds.submit) build 96c4a454-be06-4010-aa7c-da57c14165f4 completed with status "FAILURE"
- Pastikan shell perintah Anda mengetahui bahwa build gagal:
echo $?
Perintah akan membalas dengan nilai bukan nol. Jika Anda telah menyematkan build ini dalam skrip, skrip Anda akan dapat menindaklanjuti kegagalan build.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membangun dan menguji container dengan file konfigurasi build dan Cloud Build
Mengakhiri lab Anda
Setelah Anda menyelesaikan lab, klik Akhiri Lab. Google Cloud Skills Boost menghapus resource yang telah Anda gunakan dan membersihkan akun.
Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.
Makna jumlah bintang:
- 1 bintang = Sangat tidak puas
- 2 bintang = Tidak puas
- 3 bintang = Netral
- 4 bintang = Puas
- 5 bintang = Sangat puas
Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.
Untuk masukan, saran, atau koreksi, gunakan tab Support.
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.