Men-deploy aplikasi dalam container ke Cloud Run menggunakan Cloud Build
Halaman ini menunjukkan cara menggunakan Cloud Build untuk men-deploy aplikasi dalam container ke Cloud Run.
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, Cloud Run, Artifact Registry, and Compute Engine.
- 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, Cloud Run, Artifact Registry, and Compute Engine.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Memberikan izin
Cloud Build memerlukan izin Cloud Run Admin dan IAM Service Account User sebelum dapat men-deploy image ke Cloud Run.
Buka jendela terminal.
Tetapkan variabel lingkungan untuk menyimpan project ID dan nomor project Anda:
PROJECT_ID=$(gcloud config list --format='value(core.project)') PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
Berikan peran Cloud Run Admin ke akun layanan Cloud Build:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/run.admin
Berikan peran IAM Service Account User ke akun layanan Cloud Build untuk akun layanan runtime Cloud Run:
gcloud iam service-accounts add-iam-policy-binding \ $PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
Men-deploy image bawaan
Anda dapat mengonfigurasi Cloud Build untuk men-deploy image bawaan yang disimpan di Artifact Registry ke Cloud Run.
Untuk men-deploy image bawaan:
Buka jendela terminal (jika belum terbuka).
Buat direktori baru bernama
helloworld
lalu bukalah:mkdir helloworld cd helloworld
Buat file bernama
cloudbuild.yaml
dengan konten berikut. File ini adalah file konfigurasi Cloud Build. File ini berisi petunjuk agar Cloud Build dapat men-deploy image bernamaus-docker.pkg.dev/cloudrun/container/hello
pada layanan Cloud Run yang bernamacloudrunservice
.Deploy image 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
784653b2-f00e-4c4b-9f5f-96a5f115bef4 2020-01-23T14:53:13+00:00 23S gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz - SUCCESS
Anda baru saja men-deploy image hello
ke Cloud Run.
Menjalankan image yang di-deploy
Buka halaman Cloud Run di Konsol Google Cloud:
Pilih project Anda lalu klik Buka.
Anda akan melihat halaman Cloud Run Services.
Pada tabel, cari baris dengan nama cloudrunservice, lalu klik cloudrunservice.
Halaman Detail layanan untuk cloudrunservice akan ditampilkan.
Untuk menjalankan image yang Anda deploy di cloudrunservice, klik URL:
Langkah selanjutnya
- Pelajari cara membangun menggunakan Cloud Build.
- Pelajari cara membuat file konfigurasi build dasar.
- Pelajari cara melihat hasil build.
- Pelajari lebih lanjut cara men-deploy ke Cloud Run.
- Pelajari cara men-deploy ke Google Kubernetes Engine.
- Pelajari resource DevOps lebih lanjut.
- Jelajahi program riset DevOps.