Halaman ini menjelaskan cara men-deploy aplikasi ke Cloud Run Functions menggunakan Cloud Build. Jika Anda baru menggunakan Cloud Build, baca panduan memulai dan Ringkasan konfigurasi build terlebih dahulu.
Cloud Run Functions adalah lingkungan eksekusi serverless untuk membangun dan menghubungkan layanan cloud. Dengan Cloud Run Functions, Anda dapat menulis fungsi dengan tujuan tunggal yang terlampir ke peristiwa yang dikeluarkan dari layanan dan infrastruktur cloud Anda. Fungsi Anda akan terpicu ketika suatu peristiwa yang sedang dipantau diaktifkan. Untuk mengetahui informasi selengkapnya tentang Cloud Run Functions, baca dokumentasi Cloud Run Functions.
Sebelum memulai
Aktifkan Cloud Run Functions API:
Siapkan kode sumber aplikasi Anda. Kode sumber Anda harus disimpan di repositori seperti GitHub atau Bitbucket.
Untuk menjalankan perintah
gclouddi halaman ini, instal Google Cloud CLI.
Izin Identity and Access Management yang diperlukan
-
Di Google Cloud konsol, buka halaman settings Cloud Build Izin:
Untuk akun layanan Cloud Build yang Anda tentukan atau akun layanan Cloud Build default, tetapkan status peran berikut ke Diaktifkan:
- Cloud Functions Developer (
roles/cloudfunctions.developer) | Untuk men-deploy dan mengelola fungsi.- Di panel Assign Service Account User Role, pilih akun layanan yang akan di-impersonate, lalu klik Grant Permission.
- Cloud Run Admin (
roles/run.admin) | Memungkinkan akun layanan Cloud Build Anda men-deploy versi baru ke Cloud Run. - Storage Admin (
roles/storage.admin) | Memungkinkan pembacaan dan penulisan dari Cloud Storage. - Artifact Registry Writer (
roles/artifactregistry.writer) | Memungkinkan pengambilan image dari dan penulisan ke Artifact Registry. - Logs Writer (
roles/logging.logWriter) | Memungkinkan entri log ditulis ke Cloud Logging. - Cloud Build Editor (
roles/cloudbuild.builds.editor) | Memungkinkan akun layanan Anda menjalankan build.
- Cloud Functions Developer (
Mengonfigurasi deployment
Cloud Build memungkinkan Anda menggunakan image container yang tersedia secara publik untuk menjalankan tugas. Anda dapat melakukannya dengan menentukan image dalam step build di file konfigurasi Cloud Build.
Cloud Run Functions menyediakan perintah gcloud functions deploy, yang men-deploy fungsi Anda dari direktori yang berisi kode fungsi Anda.
Anda dapat menggunakan image
cloud-sdk
sebagai langkah build dalam file konfigurasi untuk memanggil gcloud perintah dalam image.
Argumen yang diteruskan ke langkah build ini diteruskan langsung ke Google Cloud CLI, sehingga Anda dapat menjalankan perintah gcloud apa pun dalam image ini.
Untuk men-deploy aplikasi ke Cloud Run Functions, gunakan langkah-langkah berikut:
- Di direktori root project Anda, buat
file konfigurasi Cloud Build
bernama
cloudbuild.yamlataucloudbuild.json. Di file konfigurasi:
- Tambahkan kolom
namedan tentukan langkah buildgcloud. - Tambahkan
functions deployke kolomargsuntuk memanggil perintahgcloud functions deploy. Untuk opsi konfigurasi yang tersedia, lihatgcloud functions deployreference. --source=.menunjukkan bahwa kode sumber berada di direktori kerja saat ini.
YAML
steps: - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: - gcloud - functions - deploy - FUNCTION_NAME - --region=FUNCTION_REGION - --source=. - --trigger-http - --runtime=RUNTIMEJSON
{ "steps": [ { "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "args": [ "gcloud", "functions", "deploy", [ "FUNCTION_NAME" ], "--region=FUNCTION_REGION", "--source=.", "--trigger-http", "--runtime=RUNTIME" ] } ] }Ganti nilai placeholder dalam file konfigurasi di atas dengan nilai berikut:
FUNCTION_NAMEadalah nama Cloud Run Functions yang Anda deploy. Jika Anda mengupdate fungsi yang sudah ada, nilai ini harus cocok dengan nama fungsi yang Anda update.FUNCTION_REGIONadalah region tempat Anda men-deploy Cloud Run Functions. Untuk mengetahui daftar region yang didukung, lihat Lokasi Cloud Run Functions.--trigger-httpadalah jenis pemicu untuk fungsi ini, dalam hal ini permintaan HTTP (webhook).RUNTIMEadalah runtime tempat menjalankan fungsi.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan
gcloud functions deploy, lihat dokumentasi Cloud Run Functions.- Tambahkan kolom
Mulai build menggunakan file konfigurasi yang dibuat pada langkah sebelumnya:
gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORYGanti nilai placeholder dalam file konfigurasi di atas dengan nilai berikut:
CONFIG_FILE_PATHadalah jalur ke file konfigurasi build.SOURCE_DIRECTORYadalah jalur atau URL ke kode sumber.REGIONadalah salah satu region build yang didukung.
Jika Anda tidak menentukan
CONFIG_FILE_PATHdanSOURCE_DIRECTORYdalam perintahgcloud builds submit, Cloud Build akan mengasumsikan bahwa file konfigurasi dan kode sumber berada di direktori kerja saat ini.
Deployment berkelanjutan
Anda dapat mengotomatiskan deployment software ke Cloud Run Functions dengan membuat pemicu Cloud Build. Anda dapat mengonfigurasi pemicu untuk membangun dan men-deploy image setiap kali Anda mengupdate kode sumber.
Untuk mengotomatiskan deployment ke Cloud Run Functions:
Di root repositori Anda, tambahkan file konfigurasi dengan langkah-langkah untuk memanggil perintah
gcloud functions deploy:YAML
steps: - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: - gcloud - functions - deploy - FUNCTION_NAME - --region=FUNCTION_REGION - --source=. - --trigger-http - --runtime=RUNTIMEJSON
{ "steps": [ { "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "args": [ "gcloud", "functions", "deploy", [ "FUNCTION_NAME" ], "--region=FUNCTION_REGION", "--source=.", "--trigger-http", "--runtime=RUNTIME" ] } ] }Ganti nilai placeholder dalam file konfigurasi di atas dengan nilai berikut:
FUNCTION_NAMEadalah nama Cloud Run Functions yang Anda deploy. Jika Anda mengupdate fungsi yang sudah ada, nilai ini harus cocok dengan nama fungsi yang Anda update.FUNCTION_REGIONadalah region tempat Anda men-deploy Cloud Run Functions. Untuk mengetahui daftar region yang didukung, lihat Lokasi Cloud Run Functions.--trigger-httpadalah jenis pemicu untuk fungsi ini, dalam hal ini permintaan HTTP (webhook).RUNTIMEadalah runtime tempat menjalankan fungsi.
Buat pemicu build dengan file konfigurasi yang dibuat pada langkah sebelumnya:
Buka halaman Pemicu di Google Cloud konsol:
Pilih project Anda dari menu drop-down pemilih project di bagian atas halaman.
Klik Create Trigger.
Di kolom Nama, masukkan nama pemicu Anda.
Di bagian Region, pilih region untuk 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 Konfigurasi, pilih File konfigurasi Cloud Build (YAML atau JSON).
Di kolom Lokasi file konfigurasi Cloud Build , ketik
cloudbuild.yamlsetelah/.Klik Buat untuk menyimpan pemicu build Anda.
Setiap kali Anda melakukan push kode baru ke repositori, Anda akan otomatis memicu build dan men-deploy di Cloud Run Functions.
Untuk mengetahui informasi selengkapnya tentang cara membuat pemicu Cloud Build, lihat Membuat dan mengelola pemicu build.
Langkah berikutnya
- Pelajari cara melakukan deployment blue-green di Compute Engine
- Pelajari cara men-deploy di Cloud Run
- Pelajari cara men-deploy di GKE
- Pelajari cara men-deploy di Firebase
- Pelajari cara men-deploy di App Engine
- Pelajari cara memecahkan masalah error build.