Membangun dan mengirim image Docker dengan Cloud Build
Pelajari cara mulai menggunakan Cloud Build dengan membangun image Docker dan mengirim image ke Artifact Registry. Artifact Registry menyediakan satu lokasi untuk mengelola paket pribadi dan image container Docker.
Pertama, Anda akan membangun image menggunakan Dockerfile
, yang merupakan file konfigurasi Docker, lalu membangun 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Compute Engine and Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Compute Engine and Artifact Registry APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator, Cloud Build Editor, Logs Viewer, Service Account User, Service Usage Admin, Storage Bucket Viewer, Storage Object Creator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Buka IAM - Pilih project.
- Klik Berikan akses.
-
Di kolom Akun utama baru, masukkan ID pengguna Anda. Biasanya berupa alamat email untuk Akun Google.
- Di daftar Pilih peran, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
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
Buat repositori Docker baru bernama
quickstart-docker-repo
di lokasius-west2
dengan deskripsi "Docker repository":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.Dapatkan ID project 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
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 secara otomatis mengganti$PROJECT_ID
dengan project ID Anda.Mulai build dengan menjalankan perintah berikut:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Buka halaman Cloud Build di konsol Google Cloud .
Jika perlu, pilih project Anda, lalu klik Buka.
Anda akan melihat halaman Histori build:
Jika perlu, pilih
us-west2
di menu drop-down Region untuk melihat build di region tersebut.Akan ada dua build yang tercantum, satu untuk setiap build yang Anda jalankan dalam panduan memulai ini.
Klik salah satu build.
Anda akan melihat halaman Build details.
Untuk melihat artefak build Anda, di bagian Build Summary, 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.
Menyiapkan file sumber untuk membangun
Anda akan memerlukan beberapa kode sumber contoh untuk dikemas ke dalam image container. Di bagian ini, Anda akan membuat skrip shell dan
Dockerfile
.Dockerfile
adalah dokumen teks yang berisi petunjuk untuk Docker dalam membangun image.Membuat repositori Docker di Artifact Registry
Membangun image menggunakan Dockerfile
Dengan Cloud Build, Anda dapat membangun image Docker menggunakan
Dockerfile
. Anda tidak memerlukan file konfigurasi Cloud Build terpisah.Untuk membuat menggunakan
Dockerfile
: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 membangun image Docker bernama
quickstart-image
menggunakanDockerfile
dan mengirim image ke Artifact Registry.Membangun 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 melakukan tugas berdasarkan spesifikasi Anda.
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
-
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya 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.
Anda kini telah menghapus repositori yang Anda buat sebagai bagian dari panduan memulai ini.
Langkah berikutnya
- Pelajari cara menjalankan image Docker.
- Pelajari cara membuat file konfigurasi build dasar.
- Pelajari cara men-deploy menggunakan Cloud Build.
- Pelajari cara membangun aplikasi Node.js.
- Pelajari cara membangun aplikasi Java.
- Pelajari cara membangun aplikasi Go.