Mengembangkan layanan Cloud Run secara lokal di Cloud Code untuk VS Code

Sebelum men-deploy layanan ke Cloud Run, Anda dapat mengembangkannya secara lokal menggunakan emulator Cloud Run.

Mengonfigurasi layanan untuk pengembangan

Jika file .vscode/launch.json belum ditentukan, dialog Run/Debug di Cloud Run Emulator akan memungkinkan Anda mengonfigurasi peluncuran, lalu menyimpan setelan Anda ke .vscode/launch.json. Jika memiliki file .vscode/launch.json yang dikonfigurasi, Anda dapat mengedit file tersebut secara langsung.

Untuk menjalankan layanan secara lokal, tentukan konfigurasi Anda:

  1. Buka palet perintah (tekan Ctrl/Cmd+Shift+P atau klik View > Command Palette), lalu jalankan perintah Run on Cloud Run Emulator.
  2. Pada dialog Run/Debug di Cloud Run Emulator, setel spesifikasi untuk konfigurasi Anda:

    • Hanya alat build yang diinstal secara lokal yang tersedia untuk Cloud Run Emulator
    • Pilih Docker atau Buildpacks sebagai builder Anda, lalu tentukan sumbernya
    • (Opsional) Untuk menentukan variabel lingkungan yang akan diteruskan ke penampung yang berjalan, luaskan Advanced Build Settings, lalu klik untuk menentukan key-value pair.
      Nama Deskripsi Contoh
      PORT Port untuk server HTTP yang akan dipantau. 8080
      K_SERVICE Nama layanan Cloud Run yang sedang dijalankan. halo-dunia
      K_REVISION Nama revisi Cloud Run yang sedang dijalankan. hello-world.1
      K_CONFIGURATION Nama konfigurasi Cloud Run yang membuat revisi. halo-dunia
    • (Opsional) Untuk menentukan koneksi Cloud SQL, luaskan Advanced Service Settings, klik Connections, lalu tentukan satu koneksi Cloud SQL per baris.
    • (Opsional) Centang opsi Buat layanan dapat diakses dari perangkat lain di jaringan lokal.
    • (Opsional) Jika Anda hanya ingin membangun ulang dan menjalankan layanan secara manual, bukan secara otomatis saat membuat perubahan, hapus opsi Automatically re-build and re-run on changes.

Menjalankan layanan secara lokal

  1. Setelah menentukan setelan pilihan, jalankan layanan Anda dengan mengklik Run.

  2. Jika diminta, autentikasi kredensial Anda untuk menjalankan dan men-debug aplikasi secara lokal.

  3. Pantau status deployment Anda di jendela output.

    Setelah deployment selesai, Anda dapat melihat layanan yang sedang berjalan dengan membuka URL yang ditampilkan di jendela output.

  4. Untuk melihat log panjang, beralihlah ke tampilan Cloud Run mendetail di jendela output.

    Panel output dengan hello-world-5 - Detail yang dipilih dari dropdown saluran output

  5. Setelah sesi Anda selesai, klik kanan untuk menggunakan perintah berikut:

    • Lihat Log: Buka log aplikasi dari deployment tertentu dengan penjelajah log Cloud Code.
    • Open URL: Membuka URL layanan aplikasi dari layanan tertentu di browser web.
  6. Jika Anda telah menonaktifkan mode smartwatch dalam konfigurasi peluncuran dan ingin melakukan perubahan pada aplikasi serta membangun ulang dan men-deploy ulang aplikasi, klik status bar Cloud Code, lalu klik Turn on watch mode.

  7. Untuk menghentikan deployment, Anda dapat mengklik tombol Stop di panel tindakan untuk deployment saat ini.

    Panel tindakan untuk deployment Cloud Run

Menyimpan rahasia

Jika kode Anda menyertakan data yang berpotensi sensitif seperti kunci API, sandi, dan sertifikat, menyimpannya sebagai rahasia dapat membantu mengamankan data tersebut. Integrasi Secret Manager Cloud Code memungkinkan Anda menyimpan rahasia ini dengan aman dan mengambilnya secara terprogram. Untuk mengetahui tampilan mendetail mengenai cara membuat dan mengelola secret dengan Cloud Code, lihat panduan Secret Manager.

Menyesuaikan konfigurasi launch.json yang ada

Plugin Cloud Code memperbarui file konfigurasi launch.json secara otomatis saat Anda memilih tindakan run. Untuk menyesuaikan lebih lanjut cara layanan dijalankan, Anda dapat menentukan kolom berikut di file .vscode/launch.json:

  • watch: Memantau perubahan di ruang kerja dan menjalankan ulang layanan. Benar secara default.

    Contoh berikut menunjukkan smartwatch yang disetel ke true:

    "watch": true,
    
  • build: Tentukan builder (Docker, jibMaven, jibGradle, atau buildpacks) untuk membuat image.

    Contoh berikut menunjukkan builder Docker:

    "build": {
      "docker": {
        "path": "Dockerfile"
      }
    },
    

    Contoh berikut menampilkan builder buildpack:

    "build": {
      "buildpacks": {
        "path": "src/requirements.txt",
        "builder": "gcr.io/buildpacks/builder:v1"
      }
    },
    
  • image: Menentukan nama gambar yang akan digunakan.

    Contoh berikut menunjukkan cara menentukan nama gambar:

      "image": "hello-world",
    
  • service: Menentukan layanan Cloud Run yang akan digunakan.

    Contoh berikut menunjukkan cara menentukan nama layanan, port, dan batas resource:

    "service": {
      "name": "hello-world",
      "containerPort": 8080,
      "resources": {
        "limits": {
          "memory": "256Mi"
        }
      }
    },
    
  • debug: Menetapkan setelan debug seperti pemetaan jalur jarak jauh untuk memetakan jalur lokal ke jalur pada penampung jarak jauh.

    Contoh berikut menunjukkan bagian debug yang menunjukkan lokasi file sumber:

    "debug": {
      "sourceFileMap": {
        "${workspaceFolder}": "/app"
      }
    }
    

Dapatkan Dukungan

Untuk mengirim masukan, laporkan masalah di GitHub, atau ajukan pertanyaan di Stack Overflow.