Dockerfile
sebagai root-nya.
Untuk mengotomatiskan deployment dari Git dengan Cloud Build:
Buat konfigurasi Cloud Build yang:
- Membangun image container
- Mengirim image ke Container Registry (Tidak digunakan lagi)
- Men-deploy revisi baru ke layanan Cloud Run
Untuk melakukannya, tambahkan file bernama
cloudbuild.yaml
di root repositori Anda dengan cara berikut:steps: # build the container image - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'gcr.io/$PROJECT_ID/[SERVICE-NAME]:$COMMIT_SHA', '.'] # push the container image to Container Registry - name: 'gcr.io/cloud-builders/docker' args: ['push', 'gcr.io/$PROJECT_ID/[SERVICE-NAME]:$COMMIT_SHA'] # Deploy container image to Cloud Run - name: 'gcr.io/cloud-builders/gcloud' args: - 'run' - 'deploy' - '[SERVICE-NAME]' - '--image' - 'gcr.io/$PROJECT_ID/[SERVICE-NAME]:$COMMIT_SHA' - '--region' - '[REGION]' images: - 'gcr.io/$PROJECT_ID/[SERVICE-NAME]:$COMMIT_SHA'
Ganti
- [SERVICE-NAME] dengan nama layanan Cloud Run.
- [REGION] dengan region layanan Cloud Run yang Anda deploy.
Penggunaan variabel substitusi
$COMMIT_SHA
diisi oleh Cloud Build saat dipicu dari repositori Git.Berikan peran Admin Cloud Run dan Pengguna Akun Layanan pada akun layanan Cloud Build:
Buka halaman setelan Cloud Build di konsol Google Cloud:
Di panel izin akun Layanan, tetapkan status peran Admin Cloud Run ke Enable:
Pilih BERIKAN AKSES KE SEMUA AKUN LAYANAN untuk memberikan peran Pengguna Akun Layanan di semua akun layanan pada project di halaman Anda.
Klik Pemicu di panel navigasi sebelah kiri untuk membuka halaman Pemicu:
- Klik Buat Pemicu.
- Di kolom Nama, masukkan nama pemicu Anda.
- Di bagian Peristiwa, pilih peristiwa repositori untuk memulai pemicu Anda.
- Di bagian Sumber, pilih repositori dan cabang atau nama tag yang akan memulai pemicu Anda. Untuk informasi selengkapnya tentang menentukan cabang yang akan otomatis di-build, lihat Membuat pemicu build.
- Di bagian File konfigurasi Cloud Build (yaml atau json), pilih File konfigurasi Cloud Build.
- Di kolom Lokasi file konfigurasi Cloud Build,
ketik
cloudbuild.yaml
setelah/
. - Klik Buat untuk menyimpan pemicu build Anda.
Selesai! Mulai sekarang, setiap kali Anda melakukan push ke repositori, build dan deployment ke layanan Cloud Run Anda akan otomatis dipanggil.
Deployment berkelanjutan dengan izin IAM minimal
Saat di-deploy dengan layanan Cloud Run, container dijalankan dengan identitas Akun Layanan Runtime di layanan Cloud Run. Karena Cloud Build dapat otomatis men-deploy container baru, Cloud Build harus dapat bertindak sebagaiAkun Layanan Runtime di layanan Cloud Run Anda.
Untuk memberikan akses terbatas pada Cloud Build guna men-deploy layanan Cloud Run:
UI Konsol
Buka halaman akun Layanan di konsol Google Cloud:
Klik alamat email layanan Cloud Run dari akun Layanan Runtime Anda di Cloud Run (secara default, alamatnya adalah
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Klik tab Izin.
Klik
Berikan akses.Masukkan Akun Layanan Cloud Build (
PROJECT_NUMBER@cloudbuild.gserviceaccount.com
)Di menu dropdown Pilih peran, pilih peran Akun Layanan > Pengguna Akun Layanan.
Klik Simpan.
gcloud
Gunakan perintah gcloud iam service-accounts add-iam-policy-binding
:
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"
Ganti PROJECT_NUMBER dengan ID numerik project Anda.
Jika Anda menggunakan Cloud Run dengan identitas layanan yang disesuaikan,
ganti PROJECT_NUMBER-compute@developer.gserviceaccount.com
dengan alamat akun
layanan Anda.
Lihat Izin deployment untuk informasi selengkapnya.
Langkah Berikutnya
- Pelajari cara men-deploy atau memublikasikan image container ke registry pribadi di project lain pada Menetapkan izin akun layanan