Halaman ini menjelaskan cara men-deploy layanan atau revisi layanan baru ke
Cloud Run langsung dari kode sumber menggunakan satu
perintah gcloud CLI,
gcloud run deploy
dengan tanda
--source
. Untuk contoh
penjelasan tentang men-deploy layanan Halo Dunia, lihat
Panduan memulai deployment dari sumber.
Di balik layar, perintah ini menggunakan
buildpack Google Cloud
dan Cloud Build untuk mem-build image container secara otomatis dari kode sumber Anda tanpa harus menginstal Docker di komputer atau menyiapkan buildpack atau Cloud Build. Secara default, Cloud Run menggunakan
jenis mesin default yang disediakan oleh Cloud Build.
Menjalankan gcloud run deploy --source
menghilangkan kebutuhan untuk menjalankan perintah
gcloud builds submit
.
Perlu diperhatikan bahwa deployment sumber menggunakan Artifact Registry untuk
menyimpan container yang dibangun. Jika project Anda belum memiliki repositori Artifact Registry
dengan namacloud-run-source-deploy
di region yang Anda
deploy-kan, fitur ini otomatis membuat repositori Artifact Registry
dengan namacloud-run-source-deploy
.
Jika Dockerfile ada dalam direktori kode sumber, kode sumber yang diupload dibuat menggunakan Dockerfile tersebut. Jika tidak ada Dockerfile dalam direktori kode sumber, buildpack Google Cloud akan otomatis mendeteksi bahasa yang Anda gunakan dan mengambil dependensi kode untuk membuat image container yang siap produksi menggunakan basis yang aman yang dikelola oleh Google.
Secara default, perbaikan keamanan hanya diterapkan saat layanan Cloud Run di-deploy. Saat Anda mengaktifkan update keamanan otomatis untuk layanan, layanan tersebut akan menerima patch secara otomatis tanpa waktu henti. Pelajari lebih lanjut cara mengonfigurasi update keamanan.Bahasa yang didukung
Selain sumber dengan Dockerfile, men-deploy dari sumber juga mendukung bahasa berikut menggunakan buildpack Google Cloud:
Runtime | Deployment sumber | Konfigurasi buildpack |
---|---|---|
Go | Men-deploy layanan Go | Mengonfigurasi buildpack Go |
Node.js | Men-deploy layanan Node.js | Mengonfigurasi buildpack Node.js |
Python | Men-deploy layanan Python | Mengonfigurasi buildpack Python |
Java (mencakup Kotlin, Groovy, Scala) |
Men-deploy layanan Java | Mengonfigurasi buildpack Java |
.NET | Men-deploy layanan .NET | Mengonfigurasi buildpack .NET |
Ruby | Men-deploy layanan Ruby | Mengonfigurasi buildpack Ruby |
PHP | Men-deploy layanan PHP | Mengonfigurasi buildpack PHP |
Keterbatasan fitur ini
- Men-deploy dari sumber menggunakan Artifact Registry dan Cloud Build, sehingga fitur ini hanya tersedia di region yang didukung oleh Artifact Registry dan Cloud Build.
- Men-deploy dari sumber adalah fitur
yang praktis, dan tidak memungkinkan penyesuaian build secara penuh. Untuk kontrol
lebih besar, bangun image container menggunakan Cloud Build, misalnya,
menggunakan
gcloud builds submit
, lalu deploy image container menggunakan, misalnya,gcloud run deploy --image
. - Men-deploy dari sumber dengan buildpack Google Cloud menetapkan Tanggal Terakhir Diubah
file sumber ke 1 Januari 1980. Ini adalah perilaku default buildpack dan dirancang untuk mendukung
build yang dapat direproduksi. Bergantung pada
framework bahasa Anda, hal ini dapat memengaruhi caching file statis di sisi browser. JIka
aplikasi Anda terpengaruh oleh hal ini, Google merekomendasikan untuk menonaktifkan header HTTP
etag
danLast-Modified
di aplikasi Anda. - Men-deploy dari sumber dengan buildpack Google Cloud selalu menggunakan
gcr.io/buildpacks/builder:latest
. Jika bahasa atau konfigurasi OS pilihan Anda tidak tersedia dilatest
, gunakan builder khusus untuk membuat image aplikasi menggunakan builder pilihan Anda. Anda dapat men-deploy layanan dari sumber menggunakan Kotlin dan bahasa JVM lainnya seperti Java. Bahasa yang Anda gunakan harus sesuai dengan aturan berikut:
- Anda dapat mem-build aplikasi menggunakan Maven atau Gradle.
- File build berisi semua plugin yang diperlukan untuk menghasilkan class.
Sebelum memulai
- Pastikan Anda telah menyiapkan project baru untuk Cloud Run seperti yang dijelaskan di halaman setup.
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.
-
Enable the Cloud Run Admin API and Cloud Build APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.Setelah Cloud Run Admin API diaktifkan, akun layanan default Compute Engine akan dibuat secara otomatis.
Peran yang diperlukan
Anda atau administrator Anda harus memberikan peran IAM berikut kepada akun deployer dan akun layanan Cloud Build.
Klik untuk melihat peran yang diperlukan untuk akun deployer
Untuk mendapatkan izin yang Anda perlukan untuk membangun dan men-deploy dari sumber, minta administrator untuk memberi Anda peran IAM berikut:
- Cloud Run Source Developer (
roles/run.sourceDeveloper
) di project Anda - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer
) di project Anda - Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) pada identitas layanan Cloud Run
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
resource Cloud Run, kecuali jika Anda mengganti perilaku ini. Agar Cloud Build dapat membangun sumber Anda, minta administrator Anda untuk memberikan peran Cloud Run Builder (roles/run.builder
) ke akun layanan default Compute Engine di project Anda:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@ \ --role=roles/run.builder
Ganti PROJECT_NUMBER
dengan Google Cloud
nomor project Anda, dan PROJECT_ID
dengan Google Cloud
project ID Anda. Untuk mengetahui petunjuk mendetail tentang cara menemukan project ID dan nomor project, lihat Membuat dan mengelola project.
Pemberian peran builder Cloud Run ke akun layanan default Compute Engine memerlukan waktu beberapa menit untuk berlaku.
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 mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.
Men-deploy dari sumber
Untuk men-deploy dari kode sumber, klik tab untuk mendapatkan petunjuk cara menggunakan alat pilihan Anda.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Mengubah ke direktori sumber. Direktori sumber menggunakan Dockerfile jika ada, meskipun tidak diperlukan.
Bangun dan deploy layanan Anda:
gcloud run deploy SERVICE --source .
Ganti
SERVICE
dengan nama yang Anda inginkan untuk layanan Anda.Jika ingin, jika kode sumber Anda menggunakan salah satu runtime bahasa yang didukung dan Anda ingin mengonfigurasi update image dasar otomatis untuk runtime, tentukan flag
--automatic-updates
dan flag--base-image
dengan image dasar untuk layanan Anda, misalnyanodejs22
.Merespon setiap permintaan untuk menginstal API yang diperlukan dengan merespons
y
ketika diminta. Anda hanya perlu melakukan ini sekali untuk sebuah project. Merespons permintaan lainnya dengan menyediakan platform dan region, jika Anda belum menetapkan setelan default untuk permintaan tersebut seperti yang dijelaskan di halaman penyiapan.Tunggu hingga proses build dan deploy selesai. Setelah selesai, Cloud Run akan menampilkan pesan berhasil.
Instal Gemini CLI versi terbaru di salah satu lingkungan pengembangan berikut:
- Terminal
- Cloud Shell
- VS Code menggunakan mode agen Gemini Code Assist (lihat tab "VS Code")
Instal ekstensi Cloud Run:
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
Login ke Google Cloud CLI:
gcloud auth login
Menyiapkan Kredensial Default Aplikasi:
gcloud auth application-default login
Ubah ke direktori kode sumber Anda.
Luncurkan Gemini CLI:
gemini
Bangun dan deploy layanan Anda:
/deploy
- Jika Anda diminta untuk memberikan project Google Cloud , masukkan nama project Anda.
- Jika Anda diminta untuk memilih alat, pilih
deploy_local_folder
.
Tunggu hingga proses build dan deploy selesai. Setelah selesai, Cloud Run akan menampilkan pesan berhasil.
Setelah deployment, revisi layanan ini melayani 100% traffic.
Cloud Code
Untuk men-deploy dari sumber menggunakan Cloud Code, baca panduan IntelliJ dan Visual Studio Code.
Gemini CLI
Gunakan perintah /deploy
di alat
Gemini CLI
untuk men-deploy layanan Cloud Run dari
kode sumber.
Untuk menggunakan Gemini CLI dengan ekstensi server Model Context Protocol (MCP) Cloud Run, ikuti langkah-langkah berikut:
VS Code
Untuk men-deploy layanan Cloud Run dari kode sumber menggunakan mode agen Gemini Code Assist di VS Code, lihat cara menggunakan perintah /deploy
.
Agar server Model Context Protocol (MCP) Cloud Run tersedia untuk digunakan dalam mode agen Gemini Code Assist, tambahkan konfigurasi berikut di file JSON setelan Gemini Anda:
"mcpServers":{ "cloud-run": { "command": "npx", "args": ["-y", "@google-cloud/cloud-run-mcp"] } }
Mengotomatisasi proses membangun dari sumber
Sebagai praktik terbaik untuk menghindari perubahan tanpa versi di sumber lokal, Google menyarankan agar Anda men-deploy secara otomatis saat perubahan dikirim ke repositori Git Anda. Untuk mempermudah, Anda dapat menghubungkan dan mengkonfigurasi deployment berkelanjutan ke layanan Cloud Run Anda. Dengan menghubungkan repositori GitHub Anda ke Cloud Run, Anda dapat mengonfigurasi build dan men-deploy repositori Anda tanpa perlu menulis Dockerfile atau file build.
Untuk mengonfigurasi build otomatis, siapkan otomatisasi seperti yang dijelaskan di halaman continuous build, pastikan Anda memilih opsi untuk mem-build sumber dengan buildpack.Langkah berikutnya
Setelah men-deploy layanan Cloud Run, Anda dapat melakukan hal berikut:
- Peluncuran bertahap, revisi rollback, migrasi traffic
- Melihat log layanan
- Memantau performa layanan
- Menetapkan batas memori
- Menetapkan variabel lingkungan
- Mengubah keserentakan layanan
- Mengelola layanan
- Mengelola revisi layanan
Pelajari konfigurasi deployment sumber:
- Update gambar dasar otomatis
- Variabel lingkungan build
- Akun layanan build
- Membangun kumpulan pekerja
Anda dapat mengotomatiskan build dan deployment layanan Cloud Run menggunakan pemicu Cloud Build: