Men-deploy beberapa lingkungan dari codebase

Umumnya, memiliki beberapa lingkungan yang di-deploy dari codebase yang sama, masing-masing dengan konfigurasi yang sedikit berbeda. Misalnya, Anda mungkin ingin menetapkan lebih sedikit CPU dan RAM ke lingkungan staging, atau memastikan lingkungan produksi membuat setidaknya 1 instance tetap aktif dan siap menyalurkan permintaan.

Untuk mempelajari lingkungan lebih lanjut, lihat Ringkasan lingkungan dan Praktik terbaik umum untuk menyiapkan project Firebase.

Prasyarat

Langkah 0: Siapkan cabang git produksi

Jika Anda memilih untuk men-deploy lingkungan produksi dari cabang main, lanjutkan ke langkah berikutnya. Jika Anda ingin men-deploy produksi dari cabang lain, misalnya production, Anda harus membuatnya terlebih dahulu di GitHub.

Untuk membuat cabang produksi dengan UI GitHub, lihat Membuat dan menghapus cabang dalam repositori Anda.

Untuk membuat cabang produksi secara lokal:

$ git checkout -b production
$ git push origin production:production

Langkah 1: Konfigurasi apphosting.yaml produksi Anda

Misalnya, Anda ingin memastikan produksi selalu menjalankan minimal 1 mesin dan memiliki beberapa variabel lingkungan khusus produksi. Anda akan mengonfigurasinya dengan membuat file apphosting.yaml di root project Anda dengan sesuatu seperti berikut:

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 1

env:
  - variable: STORAGE_BUCKET
    value: <production Cloud Storage bucket name>

Untuk melihat daftar lengkap setelan yang didukung, lihat Mengonfigurasi App Hosting.

Setelah mengedit apphosting.yaml, kirim ekstensi tersebut ke repositori GitHub Anda:

$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin

Langkah 2: Deploy codebase ke produksi

Setelah cabang git produksi dikonfigurasi, Anda dapat membuat backend App Hosting produksi baru. Untuk petunjuk mendetail, lihat Mulai menggunakan App Hosting.

Untuk membuat backend baru dengan Firebase Console, buka https://console.firebase.google.com/project/_/apphosting untuk memulai.

Untuk membuatnya secara lokal, Anda harus menginstal Firebase CLI terlebih dahulu, lalu menjalankan:

firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>

Setelah perintah ini berhasil, backend produksi Anda akan aktif, dan setiap commit baru ke cabang produksi Anda akan otomatis di-build dan di-deploy oleh App Hosting.

Langkah 3: Menyiapkan cabang git staging

Ikuti langkah-langkah yang sama seperti di atas untuk membuat cabang staging di GitHub:

$ git checkout -b staging
$ git push origin staging:staging

Langkah 4: Konfigurasi staging apphosting.yaml

Cabang staging seharusnya sudah memiliki salinan apphosting.yaml produksi Anda. Mari kita modifikasi agar App Hosting dapat menonaktifkan lingkungan staging Anda saat tidak digunakan secara aktif, dan juga menetapkan nilai yang berbeda untuk variabel lingkungan STORAGE_BUCKET.

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 0

env:
  - variable: STORAGE_BUCKET
    value: <some other staging Cloud Storage bucket name>

Setelah menyelesaikan edit, kirim file ke cabang git staging:

$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin

Langkah 5: Deploy codebase ke staging

Setelah cabang git staging dikonfigurasi, Anda dapat mengikuti langkah-langkah yang sama seperti di atas untuk men-deploy codebase ke staging:

firebase apphosting:backends:create --project <replace with your STAGING project ID>

Setelah menyelesaikan langkah ini, Anda akan memiliki dua backend App Hosting yang didukung oleh codebase yang sama, satu untuk produksi dan satu untuk staging, masing-masing dalam project Firebase yang berbeda.

Langkah berikutnya