Membangun dan mengirim image Docker dengan Cloud Build
Pelajari cara memulai 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
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build, Compute Engine and Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build, Compute Engine and Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membangun image Docker dan mengirimnya ke Artifact Registry, minta administrator untuk memberi Anda peran IAM berikut di akun layanan Cloud Build:
- Administrator Artifact Registry (
roles/artifactregistry.admin) - Editor Cloud Build (
roles/cloudbuild.builds.editor) - Logs Writer (
roles/logging.logWriter) - Storage Bucket Viewer (
roles/storage.bucketViewer) - Storage Object User (
roles/storage.objectUser)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menyiapkan file sumber untuk build
Anda 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.
Buka jendela terminal.
Buat direktori baru bernama
quickstart-dockerdan buka direktori tersebut:mkdir quickstart-docker cd quickstart-dockerBuat file bernama
quickstart.shdengan konten berikut:Buat file bernama
Dockerfiledengan konten berikut:Di jendela terminal, jalankan perintah berikut untuk membuat
quickstart.shdapat dieksekusi:chmod +x quickstart.sh
Membuat repositori Docker di Artifact Registry
Gunakan
gcloud artifacts repositories createperintah untuk membuat repositori Docker bernamaquickstart-docker-repodi lokasius-west2dengan 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 listDaftar repositori yang ditampilkan harus menyertakan
quickstart-docker-repo.Artifact Registry uses a konvensi penamaan untuk mengidentifikasi repositori dan image. Misalnya, saat berinteraksi dengan image Docker yang disimpan di Artifact Registry di region
us-west2, Anda menggunakanus-west2-docker.pkg.devsebagai nama host registry dalam perintah Anda.
Membangun image menggunakan Dockerfile
Gunakan perintah gcloud builds submit untuk
membangun image Docker menggunakan Dockerfile. Anda tidak memerlukan file konfigurasi Cloud Build terpisah.
Dapatkan Google Cloud project ID Anda dengan menjalankan perintah berikut:
gcloud config get-value projectJalankan perintah berikut dari direktori yang berisi
quickstart.shdanDockerfile:gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1Setelah build selesai, output-nya akan 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 menggunakan Dockerfile dan mengirim image ke Artifact Registry.
Membangun image menggunakan file konfigurasi build
Di bagian ini, Anda akan menggunakan file konfigurasi Cloud Build untuk membangun image Docker yang sama yang dibangun pada langkah sebelumnya. File konfigurasi build menginstruksikan Cloud Build untuk menjalankan tugas berdasarkan spesifikasi Anda.
Di direktori yang sama yang berisi
quickstart.shdanDockerfile, buat file bernamacloudbuild.yamldengan konten berikut. File ini adalah file konfigurasi build Anda. Pada waktu build, Cloud Build mengganti$PROJECT_IDdengan project ID Anda secara otomatis.Mulai build dengan menjalankan perintah berikut:
gcloud builds submit --region=us-west2 --config cloudbuild.yamlSetelah build selesai, output-nya akan 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 membangun quickstart-image menggunakan file konfigurasi build dan mengirim image ke Artifact Registry.
Melihat detail build
Buka halaman Cloud Build di Google Cloud konsol.
Jika perlu, pilih project Anda, lalu klik Buka.
Anda akan melihat halaman Build history:
Jika perlu, pilih
us-west2di menu drop-down Region untuk melihat build di region tersebut.Akan ada dua build yang tercantum, satu untuk setiap build yang Anda jalankan di 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 yang berikut:
Anda dapat mendownload log build dan melihat detail image di Artifact Registry dari halaman ini.
Pembersihan
Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud
Buka halaman Artifact Registry di Google Cloud konsol.
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 konfigurasi build dasar file.
- Pelajari cara men-deploy menggunakan Cloud Build.
- Pelajari cara membangun aplikasi Node.js.
- Pelajari cara membangun aplikasi Java.
- Pelajari cara membangun aplikasi Go.