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-tama, Anda akan mem-build 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Build and Artifact Registry.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud Build and Artifact Registry.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Menyiapkan file sumber untuk di-build
Anda membutuhkan 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 bagi Docker untuk membangun image.
Buka jendela terminal.
Buat direktori baru bernama
quickstart-docker
lalu bukalah: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 agar
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.
Membangun image menggunakan Dockerfile
Dengan Cloud Build, Anda dapat membangun image Docker menggunakan Dockerfile
. Anda tidak memerlukan file konfigurasi Cloud Build terpisah.
Untuk mem-build menggunakan Dockerfile
:
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
Setelah build selesai, Anda akan melihat output seperti berikut:
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 mengirimkan image tersebut 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 seperti di atas. File konfigurasi build menginstruksikan Cloud Build untuk melakukan 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 akan 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 Build history:
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, pada bagian Build Summary, klik Build Artifacts.
Anda akan melihat output mirip seperti berikut ini:
Anda dapat mendownload log build dan melihat detail image di Artifact Registry dari halaman ini.
Pembersihan
Agar akun Google Cloud Anda tidak dikenakan 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 Delete.
Anda sekarang telah menghapus repositori yang Anda buat 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 membangun aplikasi Node.js.
- Pelajari cara membangun aplikasi Java.
- Pelajari cara membangun aplikasi Go.