Panduan memulai: Men-deploy fungsi ke Cloud Run menggunakan gcloud CLI
Halaman ini menunjukkan cara menggunakan Cloud Run untuk men-deploy fungsi HTTP menggunakan gcloud CLI.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Guna menetapkan project default untuk layanan Cloud Run Anda:
Ganti PROJECT_ID dengan nama project yang Anda buat untuk panduan memulai ini.gcloud config set project PROJECT_ID
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.
- Agar Cloud Build dapat mem-build sumber Anda, berikan peran Cloud Build Service Account ke akun layanan default Compute Engine dengan menjalankan perintah berikut:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/cloudbuild.builds.builder
Ganti
PROJECT_NUMBER
dengan nomor project Google Cloud Anda, danPROJECT_ID
dengan project ID Google Cloud Anda. Untuk petunjuk mendetail tentang cara menemukan project ID dan nomor project, lihat Membuat dan mengelola project.Pemberian peran Akun Layanan Cloud Build ke akun layanan default Compute Engine memerlukan waktu beberapa menit untuk disebarkan.
Menulis fungsi contoh
Untuk menulis aplikasi, ikuti langkah-langkah berikut:
Node.js
Buat sebuah direktori baru bernama
helloworld
dan ubah ke direktori tersebut:mkdir helloworld cd helloworld
Buat file
package.json
di direktorihelloworld
untuk menentukan dependensi Node.js:Buat file
index.js
di direktorihelloworld
dengan contoh Node.js berikut:
Python
Buat sebuah direktori baru bernama
helloworld
dan ubah ke direktori tersebut:mkdir helloworld cd helloworld
Buat file
requirements.txt
di direktorihelloworld
, untuk menentukan dependensi Python:Langkah ini akan menambahkan paket yang dibutuhkan oleh contoh.
Buat file
main.py
di direktorihelloworld
dengan contoh Python berikut:
Go
Buat sebuah direktori baru bernama
helloworld
dan ubah ke direktori tersebut:mkdir helloworld cd helloworld
Buat file
go.mod
untuk mendeklarasikan go modul:Buat file
hello_http.go
di direktorihelloworld
dengan contoh kode Go berikut:
Java
Buat sebuah direktori baru bernama
helloworld
dan ubah ke direktori tersebut:mkdir helloworld cd helloworld
Buat struktur project berikut untuk memuat direktori sumber dan file sumber:
mkdir -p ~/helloworld/src/main/java/functions touch ~/helloworld/src/main/java/functions/HelloWorld.java
Perbarui file
HelloWorld.java
dengan contoh kode Java berikut:Buat file
pom.xml
di direktorihelloworld
, lalu tambahkan dependensi Java berikut:
Ruby
Buat sebuah direktori baru bernama
helloworld
dan ubah ke direktori tersebut:mkdir helloworld cd helloworld
Buat file bernama
app.rb
lalu tempelkan kode berikut ke dalamnya:Buat file bernama
Gemfile
dan salin kode berikut ke dalamnya:Jika Anda belum menginstal Bundler 2.0 atau yang lebih baru, instal Bundler.
Buat file
Gemfile.lock
dengan menjalankan:bundle install
PHP
Buat sebuah direktori baru bernama
helloworld
dan ubah ke direktori tersebut:mkdir helloworld cd helloworld
Buat file bernama
index.php
lalu tempelkan kode berikut ke dalamnya:Jika Anda tidak menggunakan Cloud Shell, buat file
composer.json
dan tempelkan kode berikut ke dalamnya:
.NET
Instal .NET SDK 6.0. Panduan memulai ini hanya berfungsi untuk .NET versi 6.
Dari konsol, buat project web kosong baru menggunakan perintah dotnet.
dotnet new web -o helloworld-csharp
Ubah direktori menjadi
helloworld-csharp
:Ganti kode contoh dalam file project
helloworld-csharp.csproj
dengan kode berikut:Ganti kode contoh dalam file
Program.cs
dengan kode berikut:
Men-deploy cloud function
Penting: Panduan memulai ini mengasumsikan bahwa Anda memiliki peran pemilik atau editor dalam project yang Anda gunakan untuk panduan memulai tersebut. Atau, lihat peran Developer Sumber Cloud Run untuk mengetahui izin yang diperlukan guna men-deploy resource Cloud Run dari sumber.
Untuk men-deploy fungsi Cloud Run, ikuti langkah-langkah berikut:
Deploy fungsi dengan menjalankan perintah berikut di direktori yang berisi kode contoh:
Node.js
gcloud beta run deploy nodejs-http-function \ --source . \ --function helloGET \ --base-image nodejs20 \ --region REGION \ --allow-unauthenticated
Ganti REGION dengan region Google Cloud layanan tempat Anda ingin men-deploy fungsi. Misalnya,
us-central1
.Python
gcloud beta run deploy python-http-function \ --source . \ --function hello_get \ --base-image python312 \ --region REGION \ --allow-unauthenticated
Ganti REGION dengan region Google Cloud layanan tempat Anda ingin men-deploy fungsi. Misalnya,
us-central1
.Go
gcloud beta run deploy go-http-function \ --source . \ --function HelloGet \ --base-image go122 \ --region REGION \ --allow-unauthenticated
Ganti REGION dengan region Google Cloud layanan tempat Anda ingin men-deploy fungsi. Misalnya,
us-central1
.Java
Jalankan perintah berikut di direktori yang berisi file
pom.xml
:gcloud beta run deploy java-http-function \ --source . \ --function functions.HelloWorld \ --base-image java21 \ --region REGION \ --allow-unauthenticated
Ganti REGION dengan region Google Cloud layanan tempat Anda ingin men-deploy fungsi. Misalnya,
us-central1
.Ruby
gcloud beta run deploy ruby-http-function \ --source . \ --function hello_get \ --base-image ruby33 \ --region REGION \ --allow-unauthenticated
Ganti REGION dengan region Google Cloud layanan tempat Anda ingin men-deploy fungsi. Misalnya,
us-central1
.PHP
gcloud beta run deploy php-http-function \ --source . \ --function helloGet \ --base-image php83 \ --region REGION \ --allow-unauthenticated
Ganti REGION dengan region Google Cloud layanan tempat Anda ingin men-deploy fungsi. Misalnya,
us-central1
..NET
gcloud beta run deploy csharp-http-function \ --source . \ --function HelloWorld.Function \ --base-image dotnet6 \ --region REGION \ --allow-unauthenticated
Ganti REGION dengan region Google Cloud layanan tempat Anda ingin men-deploy fungsi. Misalnya,
us-central1
.Setelah deployment selesai, Google Cloud CLI akan menampilkan URL tempat layanan berjalan. Buka URL di browser untuk melihat output fungsi Anda.
Untuk mempelajari cara menambahkan pemicu Eventarc ke fungsi Anda, lihat panduan Men-deploy fungsi untuk mendapatkan petunjuk.
Pembersihan
Meskipun Cloud Run tidak mengenakan biaya saat layanannya tidak digunakan, Anda mungkin tetap dikenai biaya atas penyimpanan image container di Artifact Registry. Anda dapat menghapus image container atau menghapus project Google Cloud untuk menghindari tagihan. Menghapus project Google Cloud Anda akan menghentikan penagihan untuk semua resource yang digunakan dalam project tersebut.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Langkah selanjutnya
Untuk men-deploy contoh fungsi ke Cloud Run menggunakan Google Cloud Console, lihat Panduan memulai: Men-deploy fungsi ke Cloud Run menggunakan Google Cloud Console.
Untuk men-deploy fungsi dan membuat pemicu menggunakan konsol Google Cloud dan Google Cloud CLI, lihat Men-deploy fungsi.
Untuk melihat dan menghapus fungsi yang ada, lihat Mengelola revisi layanan.
Untuk mem-build container fungsi di toolchain Anda sendiri dan men-deploynya ke Cloud Run, lihat Mem-build fungsi.