Mem-build dan mengirim image Docker dengan Cloud Build
Pelajari cara memulai Cloud Build dengan mem-build image Docker dan mengirim image ke Artifact Registry. Artifact Registry menyediakan satu lokasi untuk mengelola paket pribadi dan image container Docker.
Pertama-tama, Anda akan mem-build image menggunakan Dockerfile
, yang merupakan file konfigurasi Docker, lalu mem-build image yang sama menggunakan file konfigurasi Cloud Build.
Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Cloud Shell Editor, klik Pandu saya:
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Cloud Build and Artifact Registry.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Cloud Build and Artifact Registry.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Menyiapkan file sumber untuk di-build
Anda memerlukan beberapa contoh kode sumber untuk dikemas ke dalam image container. Di bagian ini,
Anda akan membuat skrip shell sederhana dan Dockerfile
. Dockerfile
adalah dokumen teks yang berisi petunjuk untuk Docker dalam membangun image.
Buka jendela terminal.
Buat direktori baru bernama
quickstart-docker
dan buka direktori tersebut:mkdir quickstart-docker cd quickstart-docker
Buat file bernama
quickstart.sh
dengan konten berikut:Buat file bernama
Dockerfile
dengan konten berikut:Di jendela terminal, jalankan perintah berikut untuk membuat
quickstart.sh
dapat dieksekusi:chmod +x quickstart.sh
Membuat repositori Docker di Artifact Registry
Buat repositori Docker baru bernama
quickstart-docker-repo
di lokasius-west2
dengan deskripsi "repositori Docker":gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository"
Pastikan repositori Anda telah dibuat:
gcloud artifacts repositories list
Anda akan melihat
quickstart-docker-repo
dalam daftar repositori yang ditampilkan.
Mem-build image menggunakan Dockerfile
Cloud Build memungkinkan Anda mem-build image Docker menggunakan Dockerfile
. Anda tidak memerlukan file konfigurasi Cloud Build terpisah.
Untuk mem-build menggunakan Dockerfile
:
Dapatkan project ID Google Cloud Anda dengan menjalankan perintah berikut:
gcloud config get-value project
Jalankan perintah berikut dari direktori yang berisi
quickstart.sh
danDockerfile
:gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/project-id/quickstart-docker-repo/quickstart-image:tag1
Setelah build selesai, Anda akan melihat output yang mirip dengan berikut ini:
DONE
------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
545cb89c-f7a4-4652-8f63-579ac974be2e 2020-11-05T18:16:04+00:00 16S gs://gcb-docs-project_cloudbuild/source/1604600163.528729-b70741b0f2d0449d8635aa22893258fe.tgz us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1 SUCCESS
Anda baru saja mem-build image Docker bernama quickstart-image
menggunakan Dockerfile
dan mengirim image ke Artifact Registry.
Mem-build image menggunakan file konfigurasi build
Di bagian ini, Anda akan menggunakan file konfigurasi Cloud Build untuk mem-build image Docker yang sama seperti di atas. File konfigurasi build menginstruksikan Cloud Build untuk menjalankan tugas berdasarkan spesifikasi Anda.
Di direktori yang sama yang berisi
quickstart.sh
danDockerfile
, buat file bernamacloudbuild.yaml
dengan konten berikut. File ini adalah file konfigurasi build Anda. Pada waktu build, Cloud Build otomatis mengganti$PROJECT_ID
dengan project ID Anda.Mulai build dengan menjalankan perintah berikut:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Setelah build selesai, Anda akan melihat output yang mirip dengan berikut ini:
DONE
------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
046ddd31-3670-4771-9336-8919e7098b11 2020-11-05T18:24:02+00:00 15S gs://gcb-docs-project_cloudbuild/source/1604600641.576884-8153be22c94d438aa86c78abf11403eb.tgz us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1 SUCCESS
Anda baru saja mem-build quickstart-image
menggunakan file konfigurasi build dan mengirim
image ke Artifact Registry.
Lihat detail build
Buka halaman Cloud Build di konsol Google Cloud.
Pilih project Anda lalu klik Buka.
Anda akan melihat halaman Histori build:
Di menu drop-down Region, pilih
us-west2
untuk melihat build di region tersebut.Klik build tertentu.
Anda akan melihat halaman Detail build.
Untuk melihat artefak build, di bagian Ringkasan Build, klik Build Artifacts.
Anda akan melihat output yang mirip dengan berikut ini:
Anda dapat mendownload log build dan melihat detail image di Artifact Registry dari halaman ini.
Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Buka halaman Artifact Registry di konsol Google Cloud.
Pilih project Anda lalu klik Buka.
Pilih quickstart-docker-repo.
Klik Hapus.
Sekarang Anda telah menghapus repositori yang dibuat sebagai bagian dari panduan memulai ini.
Langkah selanjutnya
- Pelajari cara menjalankan image Docker.
- Pelajari cara membuat file konfigurasi build dasar.
- Pelajari cara men-deploy menggunakan Cloud Build.
- Pelajari cara mem-build aplikasi Node.js.
- Pelajari cara mem-build aplikasi Java.
- Pelajari cara mem-build aplikasi Go.