Men-deploy Cloud Run Function

Halaman ini menjelaskan cara men-deploy dan mengubah fungsi Cloud Run. Untuk contoh panduan men-deploy fungsi Hello World, lihat Men-deploy fungsi contoh.

Penyebaran fungsi Cloud Run secara otomatis menggunakan buildpack Google Cloud dan Cloud Build untuk membangun citra kontainer dari kode sumber fungsi Anda. Anda tidak perlu menginstal Docker di mesin Anda atau menyiapkan buildpack atau Cloud Build.

Deployment fungsi Cloud Run juga menggunakan Artifact Registry untuk menyimpan artefak dan mengelola image container. Artifact Registry secara otomatis membuat repositori Artifact Registry bernama cloud-run-source-deploy, jika proyek Anda belum membuat repositori dengan nama ini.

Jika Anda memiliki fungsi yang sudah ada dan perlu menggunakan perintah gcloud functions deploy, Cloud Functions v2 API, atau konfigurasi Terraform google_cloudfunctions2_function untuk kompatibilitas mundur, lihat Men-deploy fungsi dengan perintah gcloud functions deploy.

Sebelum memulai

  1. Pastikan Anda telah menyiapkan project baru untuk Cloud Run, seperti yang dijelaskan di halaman penyiapan.

  2. Aktifkan Artifact Registry, Cloud Build, Cloud Run Admin API, dan Cloud Logging API:

      gcloud services enable artifactregistry.googleapis.com \
          cloudbuild.googleapis.com \
          run.googleapis.com \
          logging.googleapis.com
    

    Secara opsional, aktifkan Eventarc API untuk menggunakan pemicu peristiwa:

      gcloud services enable eventarc.googleapis.com
    
  3. Jika Anda dikenai kebijakan organisasi pembatasan domain yang membatasi pemanggilan yang tidak diautentikasi untuk project, Anda perlu mengakses layanan yang di-deploy seperti yang dijelaskan di bagian Menguji layanan pribadi.

Peran yang diperlukan

Untuk men-deploy fungsi Cloud Run, Anda atau administrator Anda harus memberikan peran IAM berikut kepada akun deployer dan akun layanan:

Klik untuk melihat peran yang dibutuhkan untuk akun penyebar.

Untuk mendapatkan izin yang Anda perlukan untuk membangun dan men-deploy dari sumber, minta administrator untuk memberi Anda peran IAM berikut:

Klik untuk melihat peran yang diperlukan untuk akun layanan Cloud Build

Cloud Build secara otomatis menggunakan akun layanan default Compute Engine sebagai akun layanan Cloud Build default untuk membangun kode sumber dan sumber daya Cloud Run Anda, kecuali jika Anda mengganti perilaku ini. Agar Cloud Build dapat membangun sumber kode Anda, mintalah administrator Anda untuk memberikan izin Cloud Run Builder (roles/run.builder) kepada akun layanan default Compute Engine pada proyek Anda:

  gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \
      --role=roles/run.builder
  

Ganti PROJECT_NUMBER dengan nomor project Google Cloud Anda, dan PROJECT_ID dengan project ID Google Cloud Anda. Untuk petunjuk terperinci tentang cara menemukan project ID dan nomor project Anda, lihat Membuat dan mengelola project.

Pemberian peran builder Cloud Run ke akun layanan default Compute Engine memerlukan waktu beberapa menit untuk berlaku.

Klik untuk melihat peran yang dibutuhkan untuk akun layanan jika menggunakan Eventarc.

Jika Anda menggunakan Eventarc, berikan peran berikut ke akun layanan Anda:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran tertentu untuk pemicu Eventarc, lihat Peran dan izin untuk target Cloud Run.

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk informasi selengkapnya tentang pemberian peran, lihat izin penyebaran dan kelola akses.

Membuat dan men-deploy fungsi

Anda dapat men-deploy fungsi Cloud Run menggunakan konsol Google Cloud , atau gcloud CLI. Klik tab untuk mendapatkan petunjuk cara menggunakan alat pilihan Anda.

Konsol

  1. Di konsol Google Cloud , buka halaman Services Cloud Run:

    Buka Cloud Run

  2. Klik Write a function.

  3. Di kolom Nama layanan, masukkan nama untuk mendeskripsikan fungsi Anda. Nama layanan hanya boleh diawali dengan huruf, dan berisi hingga 49 karakter atau kurang, termasuk huruf, angka, atau tanda hubung. Nama layanan tidak boleh diakhiri dengan tanda hubung, dan harus unik untuk setiap wilayah dan proyek. Nama layanan tidak dapat diubah nanti dan akan terlihat secara publik.

  4. Pada daftar Region, gunakan nilai default, atau pilih region tempat Anda ingin menerapkan fungsi Anda.

  5. Dalam daftar Runtime, gunakan nilai default, atau pilih versi runtime.

  6. Secara opsional, di bagian Trigger, klik Add trigger dan pilih sebuah opsi. Panel Pemicu Eventarc akan terbuka, tempat Anda dapat mengubah detail berikut untuk pemicu:

    1. Pada kolom Nama pemicu, masukkan nama untuk pemicu, atau gunakan nama default.

    2. Pilih Tipe pemicu dari daftar untuk menentukan salah satu tipe pemicu berikut:

      • Sumber Google untuk menentukan pemicu bagi Pub/Sub, Cloud Storage, Firestore, dan penyedia peristiwa Google lainnya.

      • Kustom untuk menghasilkan dan mengonsumsi peristiwa dari kode aplikasi Anda. Ikuti petunjuk di panel Pemicu Eventarc untuk membuat saluran. Saluran adalah resource yang digunakan sebagai pipeline untuk menayangkan peristiwa kustom dari produsen ke konsumen. Peristiwa kustom dipublikasikan ke saluran, dan pemicu Eventarc berlangganan ke peristiwa tersebut.

      • Pihak ketiga untuk berintegrasi dengan penyedia non-Google yang menawarkan sumber Eventarc. Untuk mengetahui informasi selengkapnya, lihat Peristiwa pihak ketiga di Eventarc.

    3. Pilih Penyedia peristiwa dari daftar, untuk memilih produk yang menyediakan jenis peristiwa untuk memicu fungsi Anda. Untuk daftar penyedia peristiwa, lihat Penyedia dan tujuan peristiwa.

    4. Pilih Jenis peristiwa dari daftar. Konfigurasi pemicu Anda bervariasi, bergantung pada jenis peristiwa yang didukung. Untuk mengetahui informasi selengkapnya, lihat Jenis peristiwa.

    5. Pada kolom Wilayah, pilih lokasi untuk pemicu Eventarc. Secara umum, lokasi pemicu Eventarc harus sesuai dengan lokasi Google Cloud Sumber daya yang ingin Anda pantau untuk mendeteksi peristiwa. Dalam sebagian besar skenario, Anda juga harus men-deploy fungsi di region yang sama. Lihat Memahami lokasi Eventarc untuk detail selengkapnya tentang lokasi pemicu Eventarc.

    6. Di kolom Service account, pilih akun layanan. Pemicu Eventarc dihubungkan ke akun layanan untuk digunakan sebagai identitas saat memanggil fungsi Anda. Akun layanan pemicu Eventarc Anda harus memiliki izin untuk memanggil fungsi Anda. Secara default, Cloud Run menggunakan akun layanan default Compute Engine.

    7. Secara opsional, tentukan jalur URL Layanan untuk mengirim permintaan masuk ke. Ini adalah jalur relatif di layanan tujuan tempat peristiwa untuk pemicu harus dikirim. Misalnya: /, /route, route, dan route/subroute.

    8. Setelah Anda melengkapi kolom yang diperlukan, klik Simpan pemicu.

  7. Di bawah Authentication, konfigurasikan hal berikut:

    • Jika Anda membuat fungsi HTTP publik, misalnya webhook, pilih Izinkan akses publik. Memilih opsi ini akan menetapkan peran IAM Invoker ke ID khusus allUser. Anda dapat menggunakan IAM untuk mengedit setelan ini nanti setelah membuat layanan. Jika Anda tidak memiliki izin (peran Admin Cloud Run) untuk memilih opsi ini, layanan akan di-deploy dan memerlukan autentikasi.

    • Jika Anda membuat fungsi yang dipicu peristiwa, pilih Require authentication.

  8. Secara opsional, perbarui konfigurasi tambahan berikut untuk fungsi Anda:

    1. Tetapkan Penagihan sesuai kebutuhan.

    2. Di bawah Penskalasian layanan, jika Anda menggunakan penskalasian otomatis Cloud Run default, secara opsional tentukan minimum instance. Jika Anda menggunakan penskalaan manual, tentukan jumlah instance untuk layanan.

    3. Atur pengaturan Kontrol Ingress sesuai kebutuhan.

    4. Luaskan bagian Container(s), Volumes, Networking, Security, untuk menetapkan setelan opsional lainnya di tab yang sesuai:

  9. Klik Create, dan tunggu hingga Cloud Run membuat layanan menggunakan revisi placeholder.

  10. Konsol akan mengalihkan Anda ke tab Sumber tempat Anda dapat melihat kode sumber fungsi. Klik Simpan dan sebarkan ulang.

  11. Di tab Sumber, Anda dapat mengklik Tampilkan Payload untuk melihat contoh payload peristiwa masuk.

  12. Setelah deployment, uji fungsi yang dibuat dengan mengklik tombol Test.

gcloud

  1. Di konsol Google Cloud , aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

  2. Update komponen gcloud ke versi terbaru:

    gcloud components update
  3. Jalankan perintah berikut di direktori yang berisi kode contoh:

    gcloud run deploy FUNCTION \
           --source . \
           --function FUNCTION_ENTRYPOINT \
           --base-image BASE_IMAGE \
           --region REGION
    

    Ganti:

    • FUNCTION dengan nama fungsi yang Anda sebarkan. Anda dapat menghilangkan parameter ini sepenuhnya, tetapi Anda akan diminta untuk memasukkan nama jika Anda menghilangkannya.

    • FUNCTION_ENTRYPOINT dengan titik masuk ke fungsi Anda di kode sumber Anda. Ini adalah kode yang dijalankan Cloud Run saat fungsi Anda berjalan. Nilai flag ini harus berupa nama fungsi atau nama class yang sepenuhnya memenuhi syarat yang ada dalam kode sumber Anda.

    • BASE_IMAGE dengan lingkungan gambar dasar untuk fungsi Anda, seperti nodejs24, python314, go127, java25, dotnet10, ruby40, atau php85. Untuk mengetahui detail selengkapnya tentang image dasar dan paket yang disertakan dalam setiap image, lihat Image dasar runtime.

    • REGION dengan Google Cloud region tempat Anda ingin men-deploy fungsi Anda. Contoh, europe-west1.

    Opsional:

    • Jika Anda membuat fungsi HTTP publik, misalnya webhook, tentukan flag --allow-unauthenticated. Flag ini menetapkan peran Cloud Run IAM Invoker ke ID khusus allUser. Anda dapat menggunakan IAM untuk mengedit setelan ini nanti setelah membuat layanan. Jika Anda membuat fungsi yang dipicu oleh peristiwa atau layanan yang diautentikasi, Anda dapat mengabaikan flag ini.

Secara opsional, setelah menerapkan fungsi Anda, Anda dapat menambahkan pemicu Eventarc ke fungsi Anda. Untuk menambahkan pemicu, jalankan perintah berikut:

  gcloud eventarc triggers create EVENTARC_TRIGGER_NAME \
      --location=EVENTARC_TRIGGER_LOCATION \
      --destination-run-service=FUNCTION \
      --destination-run-region=REGION \
      --event-filters="type=EVENTARC_FILTER_TYPE" \
      --event-filters="EVENTARC_EVENT_FILTER" \
      --service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT

Ganti:

  • EVENTARC_TRIGGER_NAME dengan nama pemicu Eventarc.

  • EVENTARC_TRIGGER_LOCATION dengan lokasi pemicu Eventarc. Secara umum, lokasi pemicu Eventarc harus sesuai dengan lokasi Google Cloud Sumber daya yang ingin Anda pantau untuk mendeteksi peristiwa. Dalam sebagian besar skenario, Anda juga harus men-deploy fungsi di region yang sama. Lihat Memahami lokasi Eventarc untuk detail selengkapnya tentang lokasi pemicu Eventarc.

  • FUNCTION dengan nama fungsi yang di-deploy.

  • REGION dengan Cloud Run region dari fungsi tersebut.

  • EVENTARC_FILTER_TYPE dengan filter peristiwa yang dipantau oleh pemicu. Suatu kejadian yang cocok dengan semua filter --event-filters akan memicu panggilan ke fungsi Anda. Setiap pemicu harus memiliki jenis peristiwa yang didukung dalam bentuk --event-filters="type=EVENTARC_FILTER_TYPE". Jenis acara ini tidak dapat diubah setelah dibuat. Untuk mengubah EVENT_FILTER_TYPE, buat pemicu baru dan hapus pemicu lama. Secara opsional, Anda dapat mengulang flag --event-filters dengan filter yang didukung dalam bentuk ATTRIBUTE=VALUE untuk menambahkan lebih banyak filter.

  • EVENTARC_TRIGGER_SERVICE_ACCOUNT dengan akun layanan. Pemicu Eventarc dihubungkan ke akun layanan untuk digunakan sebagai identitas saat memanggil fungsi Anda. Akun layanan pemicu Eventarc Anda harus memiliki izin untuk memanggil fungsi Anda. Secara default, Cloud Run menggunakan Akun layanan komputasi default.

Terraform

Untuk mengelola fungsi menggunakan Terraform, Anda harus membangun kode fungsi ke dalam image container, lalu menentukan layanan Cloud Run dalam konfigurasi Terraform menggunakan resource google_cloud_run_v2_service dari Penyedia Google Cloud Platform.

  1. Ikuti petunjuk untuk membangun fungsi dari awal untuk membuat citra kontainer yang kompatibel dengan pembaruan keamanan otomatis. Salin jalur lengkap citra kontainer untuk variabel IMAGE_URL yang digunakan pada langkah selanjutnya.

  2. Buat file main.tf baru dengan konten ini:

    provider "google" {
      project = "PROJECT-ID"
    }
    
    resource "google_cloud_run_v2_service" "default" {
      name     = "SERVICE"
      location = "REGION"
      client   = "terraform"
      template {
        containers {
          name = "SERVICE"
          image = "IMAGE_URL" # Container image built from your function in the previous step.
          base_image_uri = "BASE_IMAGE"
        }
      }
      build_config{
        function_target = "FUNCTION_TARGET"
        image_uri = "IMAGE_URL"
        base_image = "BASE_IMAGE"
        enable_automatic_updates = true
      }
    }
    resource "google_cloud_run_v2_service_iam_member" "noauth" {
      location = google_cloud_run_v2_service.default.location
      name     = google_cloud_run_v2_service.default.name
      role     = "roles/run.invoker"
      member   = "allUsers"
    }
    

    Ganti:

    • PROJECT-ID dengan Google Cloud project ID.
    • REGION dengan wilayah Google Cloud . Contohnya, europe-west1.
    • SERVICE dengan nama layanan Cloud Run Anda. Nama layanan harus terdiri dari 49 karakter atau kurang dan harus unik per region dan project.
    • IMAGE_URL dengan referensi ke image container yang hanya berisi fungsi yang Anda buat
    • BASE_IMAGE dengan lingkungan gambar dasar untuk fungsi Anda, seperti nodejs24, python314, go127, java25, dotnet10, ruby40, atau php85. Untuk mengetahui detail selengkapnya tentang image dasar dan paket yang disertakan dalam setiap image, lihat Image dasar runtime.
    • FUNCTION_TARGET dengan nama fungsi yang ingin Anda gunakan sebagai titik entri.

    Konfigurasi ini mengizinkan akses publik (setara dengan --allow-unauthenticated). Untuk membuat layanan menjadi pribadi, hapus stanza google_cloud_run_v2_service_iam_member.

  3. Lakukan inisialisasi Terraform:

    terraform init
  4. Terapkan konfigurasi Terraform:

    terraform apply

    Konfirmasi bahwa Anda ingin menerapkan tindakan yang dijelaskan dengan memasukkan yes.

Lokasi Cloud Run

Cloud Run bersifat regional, berarti infrastruktur yang menjalankan layanan Cloud Run Anda terletak di region tertentu dan dikelola oleh Google agar tersedia secara redundan di semua zona dalam region tersebut.

Memenuhi persyaratan latensi, ketersediaan, atau ketahanan adalah faktor utama untuk memilih region tempat layanan Cloud Run dijalankan. Pada umumnya, Anda dapat memilih region yang paling dekat dengan pengguna Anda, tetapi Anda harus mempertimbangkan lokasi produk Google Cloud lain yang digunakan oleh layanan Cloud Run Anda. Menggunakan Google Cloud produk secara bersamaan di beberapa lokasi dapat memengaruhi latensi serta biaya layanan Anda.

Cloud Run tersedia di region berikut:

Tergantung harga Tingkat 1

  • asia-east1 (Taiwan)
  • asia-northeast1 (Tokyo)
  • asia-northeast2 (Osaka)
  • asia-south1 (Mumbai, India)
  • asia-southeast3 (Bangkok)
  • europe-north1 (Finlandia) ikon daun CO2 Rendah
  • europe-north2 (Stockholm) ikon daun CO2 Rendah
  • europe-southwest1 (Madrid) ikon daun CO2 Rendah
  • europe-west1 (Belgia) ikon daun CO2 Rendah
  • europe-west4 (Belanda) ikon daun CO2 Rendah
  • europe-west8 (Milan) ikon daun CO2 Rendah
  • europe-west9 (Paris) ikon daun CO2 Rendah
  • me-west1 (Tel Aviv)
  • northamerica-south1 (Meksiko)
  • us-central1 (Iowa) ikon daun CO2 Rendah
  • us-east1 (South Carolina)
  • us-east4 (North Virginia)
  • us-east5 (Columbus)
  • us-south1 (Dallas) ikon daun CO2 Rendah
  • us-west1 (Oregon) ikon daun CO2 Rendah

Tergantung harga Tingkat 2

  • africa-south1 (Johannesburg)
  • asia-east2 (Hong Kong)
  • asia-northeast3 (Seoul, Korea Selatan)
  • asia-southeast1 (Singapura)
  • asia-southeast2 (Jakarta)
  • asia-south2 (Delhi, India)
  • australia-southeast1 (Sydney)
  • australia-southeast2 (Melbourne)
  • europe-central2 (Warsawa, Polandia) ikon daun CO2 Rendah
  • europe-west10 (Berlin)
  • europe-west12 (Turin) ikon daun CO2 Rendah
  • europe-west2 (London, Inggris Raya) ikon daun CO2 Rendah
  • europe-west3 (Frankfurt, Jerman)
  • europe-west6 (Zurich, Swiss) ikon daun CO2 Rendah
  • me-central1 (Doha)
  • me-central2 (Dammam)
  • northamerica-northeast1 (Montreal) ikon daun CO2 Rendah
  • northamerica-northeast2 (Toronto) ikon daun CO2 Rendah
  • southamerica-east1 (Sao Paulo, Brasil) ikon daun CO2 Rendah
  • southamerica-west1 (Santiago, Cile) ikon daun CO2 Rendah
  • us-west2 (Los Angeles) ikon daun CO2 Rendah
  • us-west3 (Salt Lake City)
  • us-west4 (Las Vegas)

Jika sudah membuat layanan Cloud Run, Anda dapat melihat region di dasbor Cloud Run di konsolGoogle Cloud .

Mengaktifkan percobaan ulang peristiwa

Eventarc menggunakan Pub/Sub sebagai lapisan transportasinya dan memiliki kebijakan percobaan ulang default yang mungkin tidak berfungsi dengan baik untuk fungsi Anda.

Setelah membuat pemicu Eventarc, sebaiknya perbarui kebijakan percobaan ulang di Eventarc dan konfigurasi topik yang dihentikan pengirimannya di Pub/Sub.

Menentukan repositori image

Deployment fungsi Cloud Run menggunakan Artifact Registry untuk menyimpan artefak dan mengelola image container. Artifact Registry secara otomatis membuat repositori Artifact Registry REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy jika proyek Anda belum membuat repositori dengan nama ini.

Untuk menentukan repositori Artifact Registry yang dibuat sendiri, gunakan perintah berikut:

gcloud

gcloud run deploy FUNCTION \
  --source . \
  --function FUNCTION_ENTRYPOINT \
  --base-image BASE_IMAGE \
  --region REGION \
  --image IMAGE_URL

Ganti kode berikut:

  • FUNCTION dengan nama fungsi yang Anda sebarkan. Anda dapat menghilangkan parameter ini sepenuhnya, tetapi Anda akan diminta untuk memasukkan nama jika Anda menghilangkannya.

  • FUNCTION_ENTRYPOINT dengan titik masuk ke fungsi Anda di kode sumber Anda. Ini adalah kode yang dijalankan Cloud Run saat fungsi Anda berjalan. Nilai flag ini harus berupa nama fungsi atau nama class yang sepenuhnya memenuhi syarat yang ada dalam kode sumber Anda.

  • BASE_IMAGE dengan lingkungan image dasar untuk fungsi Anda, seperti nodejs24, python314, go127, java25, dotnet10, ruby40, atau php85. Untuk mengetahui detail selengkapnya tentang image dasar dan paket yang disertakan dalam setiap image, lihat Image dasar runtime.

  • REGION dengan Google Cloud region tempat Anda ingin men-deploy fungsi Anda. Contoh, europe-west1.

  • IMAGE_URL dengan referensi ke jalur image menggunakan repositori image Artifact Registry pilihan Anda, misalnya projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/FUNCTION. Nama gambar harus cocok dengan nama fungsi yang Anda buat. Jika hanya jalur repositori yang diberikan, gambar akan dibuat menggunakan nama fungsi FUNCTION.

Saat menentukan repositori Artifact Registry yang berlokasi di proyek atau wilayah yang berbeda, Anda harus mempertimbangkan hal berikut:

Konfigurasi IAM:

  • Pastikan Anda telah mengkonfigurasi izin IAM untuk menyebarkan gambar dari proyek lain Google Cloud
  • Selain itu, pastikan akun layanan build memiliki akses yang sah untuk membaca dan menulis ke REPOSITORY.

Konfigurasi jaringan:

  • Pastikan REPOSITORY target dapat dijangkau dari konfigurasi project saat ini.

Konfigurasi Kontrol Layanan VPC:

  • Pastikan akun layanan build dapat menjangkau target REPOSITORY dalam perimeter VPC-SC.

Batasan residensi data:

  • Perhatikan bahwa menentukan REPOSITORY di region yang berbeda dengan lokasi fungsi Anda akan menyebabkan transfer data antar-region.

Mengubah fungsi yang ada

Anda dapat memodifikasi konfigurasi atau kode fungsi Anda:

Mengubah konfigurasi

Untuk memodifikasi parameter konfigurasi, seperti opsi penagihan, memori, dan konektivitas VPC, ikuti petunjuk di tab yang sesuai:

Konsol

  1. Di konsol Google Cloud , buka halaman Services Cloud Run:

    Buka Cloud Run

  2. Temukan layanan yang ingin Anda perbarui dalam daftar layanan, lalu klik untuk membuka detail layanan tersebut.

  3. Ubah setelan konfigurasi dalam tab yang sesuai.

  4. Klik Lihat perbedaan & sebarkan ulang, lalu Sebarkan perubahan untuk menyebarkan perubahan Anda.

gcloud

  1. Di konsol Google Cloud , aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

  2. Untuk memperbarui satu atau lebih pengaturan konfigurasi layanan, gunakangcloud run services update SERVICE Perintah tersebut menyertakan flag baris perintah dari konfigurasi yang ingin Anda perbarui. Ganti SERVICE dengan nama layanan.

Men-deploy ulang kode sumber baru

Anda dapat mengubah image dasar, runtime, dan kode sumber fungsi menggunakan konsol Google Cloud atau gcloud CLI.

Klik tab untuk mendapatkan petunjuk cara menggunakan alat pilihan Anda.

Konsol

  1. Di konsol Google Cloud , buka halaman Services Cloud Run:

    Buka Cloud Run

  2. Temukan fungsi yang ingin Anda perbarui dalam daftar Layanan, lalu klik untuk membuka detail fungsi tersebut.

  3. Buka tab Sumber, lalu klik Edit Sumber.

  4. Klik Edit update runtime dan keamanan di samping Base image, lalu pilih Runtime atau Environment lain dari daftar sesuai kebutuhan, lalu klik Save and redeploy.

  5. Ubah Titik entri fungsi sesuai kebutuhan.

  6. Di bagian Berkas, pilih Tambah berkas untuk membuat berkas baru, Ganti nama berkas untuk mengganti nama berkas, atau Hapus berkas untuk menghapus berkas.

  7. Di bagian Code, ubah kode sumber sesuai kebutuhan.

  8. Klik Simpan dan Sebarkan Ulang, dan tunggu hingga penyebaran selesai.

gcloud

  1. Di konsol Google Cloud , aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

  2. Jalankan perintah berikut di direktori yang berisi kode sumber fungsi:

    gcloud run deploy FUNCTION \
           --source . \
           --function FUNCTION_ENTRYPOINT \
           --base-image BASE_IMAGE \
           --region REGION
    

    Ganti:

    • FUNCTION dengan nama fungsi yang ingin Anda modifikasi.

    • FUNCTION_ENTRYPOINT dengan titik masuk ke fungsi Anda di kode sumber Anda.

    • BASE_IMAGE dengan lingkungan gambar dasar untuk fungsi Anda, seperti nodejs24, python314, go127, java25, dotnet10, ruby40, atau php85.

      Alternatifnya, jika Anda ingin menggunakan paket sistem tertentu dalam tumpukan atau menentukan wilayah tempat citra dasar diunduh, Anda dapat menentukan salah satu dari berikut ini:

      • Jalur gambar dasar lengkap, seperti us-central1-docker.pkg.dev/serverless-runtimes/google-24-full/runtimes/nodejs24. Opsi ini memungkinkan Anda menentukan image dasar, paket sistem tertentu dalam stack, dan region tempat image dasar didownload.
      • Alias jalur gambar dasar lengkap, seperti google-24/nodejs24 atau google-24-full/nodejs24. Opsi alias yang lebih pendek ini memungkinkan Anda menentukan citra dasar dan paket sistem tertentu dalam tumpukan.

      Untuk mengetahui detail selengkapnya tentang image dasar dan paket yang disertakan dalam setiap image, lihat Image dasar runtime.

    • REGION dengan Google Cloud region tempat Anda ingin men-deploy fungsi Anda. Contoh, europe-west1.

    Flag opsional

    Anda dapat mengkonfigurasi flag opsional berikut saat memodifikasi fungsi Anda:

    • Variabel lingkungan build flag untuk menentukan variabel lingkungan selama langkah build, seperti untuk mengkonfigurasi sertifikat khusus waktu build, atau parameter.

    • Flag kumpulan worker untuk menentukan kumpulan worker mana yang akan digunakan dalam konteks build yang diamankan Kontrol Layanan VPC.

    • Flag akun layanan build kustom untuk menentukan alternatif akun layanan build default demi meningkatkan keamanan.

    • Pembaruan image dasar otomatis untuk menonaktifkan pembaruan otomatis. Secara default, fungsi-fungsi tersebut mengaktifkan pembaruan keamanan otomatis.

Menonaktifkan pemeriksaan kesehatan penerapan

Secara default, Cloud Run memeriksa apakah deployment Anda responsif dengan memulai instance dan menunggu hingga pemeriksaan waktu mulainya berhasil. Jika pemeriksaan kesehatan gagal, revisi tersebut akan ditandai sebagai tidak sehat dan lalu lintas tidak akan dialihkan ke sana.

Jika tidak diperlukan atau untuk meningkatkan kecepatan penerapan, pemeriksaan kesehatan penerapan dapat dinonaktifkan:

gcloud

Untuk menonaktifkan pemeriksaan kesehatan penyebaran, gunakan flag --no-deploy-health-check:

gcloud run deploy --image IMAGE_URL --no-deploy-health-check

Ganti kode berikut:

  • IMAGE_URL: referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL mengikuti format LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

Gunakan --deploy-health-check untuk mengaktifkan kembali health check deployment jika sebelumnya dinonaktifkan.

YAML

Untuk menonaktifkan pemeriksaan kondisi deployment, tambahkan anotasi run.googleapis.com/health-check-disabled dengan nilai 'true' ke spec.template.metadata.annotations.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: SERVICE
spec:
  template:
    metadata:
      annotations:
        run.googleapis.com/health-check-disabled: 'true'

Terraform

Untuk menonaktifkan health check deployment, tetapkan argumen health_check_disabled ke true di blok template.

resource "google_cloud_run_v2_service" "default" {
  name     = "SERVICE"
  ...
  template {
    health_check_disabled = true
    ...
  }
}

Bucket sumber

Kode sumber Anda harus dapat diakses oleh proses build dan editor sumber konsolGoogle Cloud . Hal ini dilakukan dengan mengunggah kode sumber Anda ke bucket Cloud Storage.

Saat Anda men-deploy menggunakan gcloud CLI atau konsol Google Cloud , bucket Cloud Storage akan otomatis disediakan, dan kode sumber Anda akan diupload untuk Anda. Secara default, kode Anda disimpan di bucket bernama run-sources-PROJECT_ID-REGION. Anda bertanggung jawab untuk mengelola Daftar Kontrol Akses (ACL) dan objek sumber dalam bucket ini.

Jika Anda perlu menggunakan bucket tertentu, misalnya untuk menggunakan Kunci enkripsi yang dikelola pelanggan (CMEK), Anda harus mengemas file sumber lokal ke dalam arsip terlebih dahulu (seperti file ZIP). Kemudian, upload arsip ini ke bucket Anda. Untuk men-deploy dari lokasi kustom ini, gunakan gcloud CLI dengan flag --source=gs://BUCKET_NAME/OBJECT_PATH.

Langkah berikutnya

Setelah men-deploy fungsi Cloud Run baru, Anda dapat melakukan hal berikut: