Mengonfigurasi dan mengelola backend App Hosting

App Hosting telah dirancang untuk kemudahan penggunaan dan pemeliharaan yang rendah, dengan setelan default yang dioptimalkan untuk sebagian besar kasus penggunaan. Pada saat yang sama, App Hosting menyediakan alat bagi Anda untuk mengelola dan mengonfigurasi backend sesuai kebutuhan spesifik Anda. Panduan ini menjelaskan alat dan proses tersebut.

Menetapkan dan mengupdate variabel lingkungan dan secret

App Hosting memungkinkan Anda menggunakan variabel lingkungan untuk nilai konfigurasi yang tidak sensitif dan secret untuk parameter sensitif seperti kunci API, kredensial database, dan token layanan.

  • Variabel lingkungan standar: Digunakan untuk konfigurasi teks biasa yang tidak sensitif (seperti URL API publik, tombol fitur, atau target build). Nilai dapat dilihat oleh semua anggota project.
  • Secret: Digunakan untuk parameter sensitif (seperti rahasia klien OAuth, token API, atau sandi database). Secret didukung oleh Cloud Secret Manager. Nilai secret dilindungi dan tidak pernah ditampilkan dalam teks biasa di konsol Firebase; sebagai gantinya, konsol menyediakan deep link untuk melihat dan mengelola nilai secret langsung di Cloud Secret Manager.

Anda dapat menentukan dan mengelola parameter lingkungan menggunakan dua pendekatan pelengkap:

  • Firebase console: Tambahkan, edit, dan lampirkan secret atau variabel dengan cepat secara dinamis selama pembuatan backend awal atau pasca-deployment di setelan backend.
  • Code-first (apphosting.yaml): Deklarasikan variabel lingkungan dan referensi secret dalam file konfigurasi repositori Anda untuk deployment yang dikontrol versi, atau gunakan apphosting.<env>.yaml untuk menetapkan nilai yang berbeda untuk lingkungan yang berbeda.

Firebase console

Screenshot dialog Firebase console untuk menambahkan variabel lingkungan

apphosting.yaml

env:
  - variable: STORAGE_BUCKET
    value: mybucket.firebasestorage.app
  - variable: API_KEY
    secret: myApiKeySecret

Mengelola variabel dan secret di konsol Firebase

Anda dapat mengonfigurasi variabel lingkungan dan secret di Firebase console saat membuat backend atau kapan saja dari setelan backend. Perubahan yang disimpan tanpa di-deploy akan diterapkan pada peluncuran berikutnya dan tidak memengaruhi peluncuran saat ini.

Menyiapkan variabel dan secret selama pembuatan backend

Saat membuat backend App Hosting baru di Firebase console, Anda dapat mengonfigurasi variabel lingkungan dan secret standar selama langkah Configure your backend di wizard penyiapan:

  1. Di Firebase console, buka Hosting & Serverless > App Hosting dan klik Create backend.
  2. Selesaikan langkah-langkah wizard awal untuk memilih region utama dan repositori kode Anda.
  3. Di bagian Configure your backend, temukan kartu yang dapat diciutkan untuk Variabel lingkungan dan Secret, tempat Anda dapat menambahkan variabel standar dan melampirkan Secret.
  4. Selesaikan wizard pembuatan backend, lalu klik Finish & deploy.

Mengelola variabel dan secret di setelan backend

Anda dapat melihat, menambahkan, mengedit, atau menghapus variabel lingkungan dan secret untuk backend aktif dari dasbor setelan backend:

  1. Di Firebase console, pilih backend App Hosting Anda dan buka Settings > Environment.
  2. Tinjau konfigurasi yang ada di tabel Environment variables:
    • Variabel standar: Nilai ditampilkan sebagai teks biasa dalam blok kode yang dapat disalin.
    • Secrets: Ditampilkan sebagai link yang dapat diklik yang menampilkan nama secret (yang membuka Cloud Secret Manager di konsol Google Cloud) beserta versi yang ditargetkan (seperti latest atau nomor versi tertentu seperti 2).
  3. Untuk menambahkan variabel atau secret:
    1. Klik Tambahkan baru.
    2. Di Step 1: Select type, pilih Standard environment variable (untuk data non-sensitif yang dapat dilihat oleh semua anggota project) atau Secret (untuk kunci API dan kredensial sensitif dengan akses terbatas), lalu klik Next.
    3. Di Langkah 2: Konfigurasi setelan, masukkan nama Kunci dan Nilai teks biasa (untuk variabel standar) atau pilih ID Rahasia dan Versi (untuk rahasia).
    4. Simpan perubahan Anda menggunakan salah satu opsi berikut:
      • Save and deploy: Segera mengupdate konfigurasi backend serta memicu build dan peluncuran baru.
      • Just save (dari panah drop-down di samping Save and deploy): Menyimpan perubahan konfigurasi tanpa memicu peluncuran langsung. Setelan yang diperbarui akan diterapkan pada deployment berikutnya.
  4. Untuk mengedit atau menghapus entri yang ada, klik menu More actions (...) di akhir baris:
    • Pilih Edit untuk mengubah kunci, nilai, pemetaan secret, atau versi, lalu klik Save and deploy atau Just save.
    • Pilih Hapus dan konfirmasi penghapusan dalam dialog.

Mentransfer variabel dari file dotenv

Untuk aplikasi Next.js, file dotenv yang berisi variabel lingkungan berfungsi dengan App Hosting.

Saat membuat atau mengupdate backend, Anda dapat mentransfer variabel lingkungan dari file dotenv ke Firebase console dengan menyalin dan menempelkan seluruh konten file dotenv ke kolom Key pertama di formulir Add new di Settings > Environment.

Semua variabel lingkungan yang disalin dengan cara ini akan otomatis diformat ke dalam formulir tanpa perlu memasukkan setiap variabel satu per satu, asalkan input menggunakan format KEY=value standar:

KEY1=value1
KEY2=value2
KEY3=value3

Untuk kontrol variabel lingkungan yang kompleks atau terperinci dengan framework apa pun, sebaiknya gunakan apphosting.yaml.

Mengelola variabel dan secret di apphosting.yaml

Untuk alur kerja code-first, deklarasikan variabel lingkungan standar dan referensi secret di bagian kunci env: dalam file konfigurasi apphosting.yaml repositori project Anda (lihat Membuat dan mengedit apphosting.yaml).

env:
  # Standard environment variables
  - variable: PUBLIC_API_URL
    value: https://api.example.com
    availability:
      - BUILD
      - RUNTIME
  - variable: FEATURE_FLAG_NEW_UI
    value: "true"

  # Secret references backed by Cloud Secret Manager
  - variable: DATABASE_URL
    secret: projects/PROJECT_ID/secrets/db-connection-string/versions/latest
  - variable: GEMINI_API_KEY
    secret: myGeminiApiKeySecret@1

Setiap entri di env: mendukung kolom berikut:

  • variable: Nama variabel lingkungan yang diekspos ke proses aplikasi Anda.
  • value: Nilai string teks biasa (untuk variabel lingkungan standar).
  • secret: Referensi secret Cloud Secret Manager (untuk secret). Anda dapat menggunakan nama secret singkat (seperti myGeminiApiKeySecret atau myGeminiApiKeySecret@1 yang disematkan) atau jalur resource lengkap (projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION). Lihat Menyimpan dan mengakses parameter secret untuk mengetahui detail selengkapnya.
  • availability: Mengontrol apakah variabel atau secret dapat diakses selama fase BUILD, di RUNTIME, atau keduanya.

Menetapkan ketersediaan variabel

Variabel lingkungan dan secret yang dikonfigurasi di Firebase console tersedia pada waktu build dan waktu proses. Hal ini juga merupakan perilaku default untuk entri yang ditentukan di apphosting.yaml, kecuali jika Anda mempersempit cakupan menggunakan properti availability. Di apphosting.yaml (tetapi tidak di konsol), Anda dapat membatasi variabel atau secret hanya untuk lingkungan build (BUILD) atau hanya lingkungan runtime (RUNTIME).

Mengakses variabel dan secret dalam kode aplikasi

Baik dikonfigurasi di Firebase console atau apphosting.yaml, variabel lingkungan dan secret diekspos ke runtime aplikasi Anda sebagai variabel lingkungan standar (misalnya, process.env di Node.js).

// Accessing a standard environment variable
const apiUrl = process.env.PUBLIC_API_URL;

// Accessing a secret
const apiKey = process.env.GEMINI_API_KEY;

export async function fetchData() {
  const response = await fetch(`${apiUrl}/data`, {
    headers: {
      'Authorization': `Bearer ${apiKey}`
    }
  });
  return response.json();
}
  • Akses sisi server: Semua variabel lingkungan dan secret dapat diakses dengan aman dalam konteks eksekusi sisi server (seperti Komponen Server Next.js, rute API, atau pengendali backend Node.js).
  • Eksposur sisi klien: Untuk mengekspos variabel lingkungan standar ke browser dalam framework seperti Next.js, pastikan kunci variabel mengikuti konvensi framework (misalnya, diawali dengan NEXT_PUBLIC_).

    env:
      - variable: NEXT_PUBLIC_STORAGE_BUCKET
        value: mybucket.firebasestorage.app
        availability:
          - BUILD
          - RUNTIME
    

Hierarki variabel

Firebase App Hosting menerapkan variabel lingkungan dan secret Anda dalam urutan prioritas berdasarkan sumbernya. Konfigurasi yang ditetapkan di Firebase console selalu menggantikan parameter yang dideklarasikan dalam file apphosting.yaml dan dotenv. Jika variabel lingkungan atau kunci rahasia dengan nama yang sama ada di apphosting.yaml dan konsol Firebase, nilai konsol akan diutamakan selama eksekusi build dan runtime.

Berikut adalah urutan prioritas lengkapnya:

  1. Firebase console → variabel dan secret yang ditetapkan di konsol
  2. apphosting.<env>.yaml → variabel dan secret yang ditentukan dalam file YAML khusus lingkungan seperti apphosting.staging.yaml (lihat Men-deploy beberapa lingkungan)
  3. apphosting.yaml → variabel dan secret yang ditentukan dalam file apphosting.yaml
  4. Sistem Firebase → variabel yang ditetapkan oleh Firebase yang berisi nilai untuk FIREBASE_CONFIG atau FIREBASE_WEBAPP_CONFIG, serta variabel lingkungan yang menetapkan nama host dan port untuk aplikasi SSR (ditetapkan oleh adaptor App Hosting di bundle.yaml)

Variabel lingkungan yang diisi secara otomatis

Ada variabel lingkungan yang diisi secara otomatis oleh App Hosting. Variabel lingkungan tersebut meliputi variabel lingkungan yang diisi oleh Google Cloud, serta variabel lingkungan khusus Firebase saat appId ditetapkan di backend selama penyiapan:

  • FIREBASE_CONFIG: (tersedia di lingkungan build & runtime) Menyediakan info konfigurasi project Firebase berikut:

    {
      "databaseURL": "https://DATABASE_NAME.firebaseio.com",
      "storageBucket": "PROJECT_ID.firebasestorage.app",
      "projectId": "PROJECT_ID"
    }
    

    Konfigurasi ini diterapkan secara otomatis saat Anda menginisialisasi Firebase Admin SDK tanpa argumen.

  • FIREBASE_WEBAPP_CONFIG: (hanya tersedia di lingkungan build) Menyediakan info konfigurasi project Firebase berikut:

    {
      "apiKey": "API_KEY",
      "appId": "APP_ID",
      "authDomain": "AUTH_DOMAIN.firebaseapp.com",
      "databaseURL": "https://DATABASE_NAME.firebaseio.com",
      "messagingSenderId": "PROJECT_NUMBER",
      "projectId": "PROJECT_ID",
      "storageBucket": "PROJECT_ID.firebasestorage.app"
    }</span>
    

    Firebase JS SDK otomatis memeriksa variabel lingkungan FIREBASE_WEBAPP_CONFIG ini dalam skrip pasca-penginstalan selama build, sehingga Anda juga dapat melakukan inisialisasi SDK klien tanpa argumen apa pun.

Lihat Menginisialisasi Firebase Admin SDK dan SDK web secara otomatis untuk mengetahui detail selengkapnya tentang cara menggunakan variabel lingkungan ini untuk menginisialisasi SDK.

Perhatikan bahwa nilai dalam konfigurasi Firebase yang sebenarnya akan sesuai dengan resource tertentu yang telah Anda sediakan di project.

Hierarki variabel

Firebase App Hosting menerapkan variabel Anda dalam urutan prioritas berdasarkan sumbernya. Misalnya, nilai yang ditetapkan di Firebase console selalu mengganti, atau lebih diutamakan daripada, nilai yang ditetapkan dalam file apphosting.yaml dan dotenv.

Berikut adalah urutan prioritas lengkapnya:

  1. Firebase console → variabel yang ditetapkan di konsol
  2. apphosting.<env>.yaml → variabel yang ditentukan dalam file yaml khusus lingkungan seperti apphosting.staging.yaml (lihat Men-deploy beberapa lingkungan)
  3. apphosting.yaml → variabel yang ditentukan dalam file apphosting.yaml
  4. Sistem Firebase → variabel yang ditetapkan oleh Firebase yang berisi nilai untuk firebase_config json atau firebase_webapp_config, serta variabel lingkungan yang menetapkan nama host dan port untuk aplikasi SSR (ditetapkan oleh adaptor App Hosting di bundle.yaml)

Nama dan batasan yang dicadangkan

Variabel lingkungan yang ditentukan dalam kontrak runtime container Cloud Run dicadangkan dan tidak dapat ditetapkan.

Variabel lingkungan yang disediakan oleh lingkungan, selain yang ditetapkan secara otomatis, dapat berubah pada versi runtime mendatang. Sebagai praktik terbaik, sebaiknya Anda tidak bergantung pada atau mengubah variabel lingkungan yang belum ditetapkan secara eksplisit, dan pertimbangkan untuk memberi awalan pada variabel lingkungan apa pun dengan kunci unik untuk menghindari konflik.

Beberapa kunci variabel lingkungan dicadangkan untuk penggunaan internal. Jangan gunakan kunci berikut dalam file konfigurasi Anda:

  • String kosong ("")
  • Kunci yang berisi "="
  • Kunci yang diawali dengan X_FIREBASE_, X_GOOGLE_, atau CLOUD_RUN_
  • PORT
  • K_SERVICE
  • K_REVISION
  • K_CONFIGURATION
  • Kunci Duplikat

Membuat dan mengedit apphosting.yaml

Untuk konfigurasi lanjutan seperti secret atau setelan runtime seperti konkurensi, CPU, dan batas memori, Anda harus membuat dan mengedit file apphosting.yaml di direktori root aplikasi Anda. File ini mendukung referensi ke secret yang dikelola dengan Cloud Secret Manager, sehingga aman untuk diperiksa ke dalam kontrol sumber.

Untuk membuat apphosting.yaml, jalankan perintah berikut:

firebase init apphosting

Tindakan ini akan membuat file apphosting.yaml awal dasar dengan contoh konfigurasi (yang diberi komentar). Setelah diedit, file apphosting.yaml standar mungkin terlihat seperti berikut, dengan setelan untuk layanan Cloud Run backend, beberapa variabel lingkungan, dan beberapa referensi ke secret yang dikelola oleh Cloud Secret Manager:

# Settings for Cloud Run
runConfig:
  minInstances: 2
  maxInstances: 100
  concurrency: 100
  cpu: 2
  memoryMiB: 1024

# Environment variables and secrets
env:
  - variable: STORAGE_BUCKET
    value: mybucket.firebasestorage.app
    availability:
      - BUILD
      - RUNTIME

  - variable: API_KEY
    secret: myApiKeySecret

    # Same as API_KEY above but with a pinned version.
  - variable: PINNED_API_KEY
    secret: myApiKeySecret@5

    # Same as API_KEY above but with the long form secret reference as defined by Cloud Secret Manager.
  - variable: VERBOSE_API_KEY
    secret: projects/test-project/secrets/secretID

    # Same as API_KEY above but with the long form secret reference with pinned version.
  - variable: PINNED_VERBOSE_API_KEY
    secret: projects/test-project/secrets/secretID/versions/5

Bagian selanjutnya dari panduan ini memberikan informasi dan konteks selengkapnya untuk contoh setelan ini.

Mengonfigurasi setelan layanan Cloud Run

Dengan setelan apphosting.yaml, Anda dapat mengonfigurasi cara penyediaan layanan Cloud Run. Setelan yang tersedia untuk layanan Cloud Run disediakan dalam objek runConfig:

  • cpu – Jumlah CPU yang digunakan untuk setiap instance inferensi (default 1).
  • memoryMiB – Jumlah memori yang dialokasikan untuk setiap instance inferensi dalam MiB (default 512).
  • maxInstances – Jumlah maksimum container yang pernah dijalankan sekaligus (default 100 dan dikelola oleh kuota).
  • minInstances – Jumlah container yang akan selalu tetap aktif (default 0).
  • concurrency – Jumlah maksimum permintaan yang dapat diterima setiap instance penayangan (default 80).
  • cpuAlwaysAllocated – Apakah CPU selalu dialokasikan meskipun tidak ada permintaan yang sedang diproses (default false).

Perhatikan bahwa cpu, memoryMiB, dan concurrency memiliki batas yang saling bergantung (misalnya, konfigurasi memori yang lebih tinggi memerlukan batas CPU minimum yang lebih tinggi, dan CPU pecahan memerlukan konkurensi 1). Lihat dokumentasi Cloud Run tentang batas CPU dan batas memori untuk mengetahui rentang yang valid dan kombinasi yang diperlukan.

Mengganti skrip build dan run

App Hosting menyimpulkan perintah build dan start aplikasi Anda berdasarkan framework yang terdeteksi. Jika ingin menggunakan perintah build atau mulai kustom, Anda dapat mengganti default App Hosting di apphosting.yaml.

scripts:
  buildCommand: next build --no-lint
  runCommand: node dist/index.js

Penggantian perintah build lebih diprioritaskan daripada perintah build lainnya dan membuat aplikasi Anda tidak menggunakan adaptor framework serta menonaktifkan pengoptimalan khusus framework yang disediakan App Hosting. Sebaiknya gunakan ini jika fitur aplikasi Anda tidak didukung dengan baik oleh adaptor. Jika Anda ingin mengubah perintah build, tetapi tetap menggunakan adaptor yang disediakan, tetapkan skrip build di package.json sebagai gantinya, seperti yang dijelaskan dalam adaptor framework App Hosting.

Gunakan penggantian perintah run jika ada perintah tertentu yang ingin Anda gunakan untuk memulai aplikasi yang berbeda dengan perintah yang disimpulkan App Hosting.

Mengonfigurasi output build

App Hosting mengoptimalkan deployment aplikasi Anda secara default dengan menghapus file output yang tidak digunakan seperti yang ditunjukkan oleh framework. Jika ingin mengoptimalkan ukuran deployment aplikasi lebih lanjut atau mengabaikan pengoptimalan default, Anda dapat menggantinya di apphosting.yaml.

outputFiles:
  serverApp:
    include: [dist, server.js]

Parameter include mengambil daftar direktori dan file yang terkait dengan direktori root aplikasi yang diperlukan untuk men-deploy aplikasi Anda. Jika Anda ingin memastikan bahwa semua file disimpan, tetapkan include ke [.] dan semua file akan di-deploy.

Menyimpan dan mengakses parameter secret

Informasi sensitif seperti kunci API harus disimpan sebagai secret. Anda dapat melampirkan secret ke backend di Firebase console atau mereferensikannya di apphosting.yaml untuk menghindari pemeriksaan informasi sensitif ke dalam kontrol sumber.

Parameter jenis secret mewakili parameter string yang memiliki nilai yang disimpan di Cloud Secret Manager. Alih-alih memperoleh nilai secara langsung, parameter secret memeriksa keberadaan nilai di Cloud Secret Manager dan memuat nilai selama peluncuran.

env:
  - variable: API_KEY
    secret: myApiKeySecret

Secret di Cloud Secret Manager dapat memiliki beberapa versi. Secara default, nilai parameter secret yang tersedia untuk backend aktif Anda disematkan ke versi secret terbaru yang tersedia pada saat backend dibuat. Jika Anda memiliki persyaratan untuk pembuatan versi dan pengelolaan siklus proses parameter, Anda dapat menyematkan ke versi tertentu di Firebase console atau di apphosting.yaml. Misalnya, untuk menyematkan ke versi 5 di apphosting.yaml:

env:
  - variable: PINNED_API_KEY
    secret: myApiKeySecret@5

Anda dapat membuat secret dengan perintah CLI Firebase firebase apphosting:secrets:set, dan Anda akan diminta untuk menambahkan izin yang diperlukan. Alur ini memberi Anda opsi untuk otomatis menambahkan referensi secret ke apphosting.yaml.

Memberikan akses ke Cloud Secret Manager

Agar App Hosting dapat mengambil nilai secret selama peluncuran build dan runtime, akun layanan backend App Hosting harus memiliki izin untuk mengakses Cloud Secret Manager.

Jika Anda membuat secret menggunakan konsol Cloud Secret Manager atau gcloud CLI, bukan firebase apphosting:secrets:set, berikan akses ke backend Anda menggunakan Firebase CLI:

firebase apphosting:secrets:grantaccess SECRET_NAME

Atau, Anda dapat memberikan peran Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) ke agen layanan App Hosting (service-PROJECT_NUMBER@gcp-sa-apphosting.iam.gserviceaccount.com) atau akun layanan runtime backend Anda menggunakan gcloud CLI:

gcloud secrets add-iam-policy-binding SECRET_NAME \
    --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-apphosting.iam.gserviceaccount.com" \
    --role="roles/secretmanager.secretAccessor"

Akses konsol dan izin berbasis peran

Konsol Firebase secara dinamis membatasi fitur pengelolaan lingkungan dan secret berdasarkan izin IAM pengguna:

  • Peran pelihat: Pengguna dengan izin project hanya baca dapat melihat setelan konfigurasi yang ada, tetapi tidak dapat melakukan perubahan.
    • Selama pembuatan backend, tombol Create backend dinonaktifkan.
    • Di Settings > Environment backend, tombol Add new dinonaktifkan dan menu baris More actions (...) disembunyikan.
  • Izin Secret Manager tidak ada: Pengguna yang tidak memiliki izin IAM untuk berinteraksi dengan Cloud Secret Manager akan melihat pesan peringatan di konsol (Ask a project owner for permission to add secrets):
    • Selama pembuatan backend, kartu Secrets dinonaktifkan.
    • Di Settings > Environment backend, opsi Secret dinonaktifkan saat mengklik Add new, dan beberapa opsi di menu baris More actions (...) disembunyikan pada entri secret yang ada.

Mengonfigurasi akses VPC

Backend App Hosting Anda dapat terhubung ke jaringan Virtual Private Cloud (VPC). Untuk mengetahui informasi selengkapnya dan contohnya, lihat Menghubungkan Firebase App Hosting ke jaringan VPC.

Gunakan pemetaan vpcAccess dalam file apphosting.yaml Anda untuk mengonfigurasi akses. Gunakan nama jaringan/konektor yang sepenuhnya memenuhi syarat atau ID. Penggunaan ID memungkinkan portabilitas antara lingkungan staging dan produksi dengan konektor/jaringan yang berbeda.

Konfigurasi Traffic Keluar VPC Langsung (apphosting.yaml):

runConfig:
  vpcAccess:
    egress: PRIVATE_RANGES_ONLY # Default value
    networkInterfaces:
      # Specify at least one of network and/or subnetwork
      - network: my-network-id
        subnetwork: my-subnetwork-id

Konfigurasi Konektor Serverless (apphosting.yaml):

runConfig:
  vpcAccess:
    egress: ALL_TRAFFIC
    connector: connector-id

Mengelola backend

Perintah untuk pengelolaan dasar backend App Hosting disediakan di Firebase console dan Firebase CLI. Bagian ini menjelaskan beberapa tugas pengelolaan yang lebih umum, termasuk membuat dan menghapus backend.

Membuat backend

Backend App Hosting adalah kumpulan resource terkelola yang dibuat App Hosting untuk membangun dan menjalankan aplikasi web Anda.

Firebase console: Buka Hosting & Serverless > App Hosting, lalu klik Create backend (jika ini adalah backend pertama dalam project Firebase Anda, klik Get started).

Firebase CLI: (v13.15.4 atau yang lebih baru) Untuk membuat backend, jalankan perintah berikut dari root direktori project lokal Anda, dengan memberikan project ID sebagai argumen:

firebase apphosting:backends:create --project PROJECT_ID

Untuk konsol atau CLI, ikuti petunjuk untuk memilih region, menyiapkan koneksi GitHub, dan mengonfigurasi setelan deployment dasar berikut:

  • Tetapkan direktori utama aplikasi Anda (defaultnya adalah /)

    Ini biasanya adalah lokasi file package.json Anda.

  • Menetapkan cabang aktif

    Ini adalah cabang repositori GitHub Anda yang di-deploy ke URL aktif Anda. Sering kali, ini adalah cabang tempat cabang fitur atau cabang pengembangan digabungkan.

  • Menyetujui atau menolak peluncuran otomatis

    Peluncuran otomatis diaktifkan secara default. Setelah pembuatan backend selesai, Anda dapat memilih agar aplikasi segera di-deploy ke App Hosting.

  • Tetapkan nama untuk backend Anda.

  • Pilih lingkungan runtime Anda. Secara default, versi Node.js terbaru yang direkomendasikan telah dipilihkan untuk Anda.

    • Konfigurasikan Update Image Dasar Otomatis (ABIU). ABIU diaktifkan secara default dan otomatis menerapkan patch keamanan ke lingkungan yang mendasarinya. Anda dapat memilih untuk tidak menggunakan ABIU dengan memilih "Tidak ditentukan" untuk runtime Anda.

Hapus backend

Untuk menghapus backend sepenuhnya, gunakan Firebase console atau Firebase CLI terlebih dahulu untuk menghapusnya, lalu hapus aset terkait secara manual, dengan berhati-hati agar tidak menghapus resource apa pun yang mungkin digunakan oleh backend lain atau aspek lain dari project Firebase Anda.

Firebase console: Dari menu Settings, pilih Delete backend.

Firebase CLI: (v13.15.4 atau yang lebih baru)

  1. Jalankan perintah berikut untuk menghapus backend App Hosting. Tindakan ini akan menonaktifkan semua domain untuk backend Anda dan menghapus layanan Cloud Run terkait:

    firebase apphosting:backends:delete BACKEND_ID --project PROJECT_ID
    
  2. (Opsional) Di tab Google Cloud console untuk Artifact Registry, hapus image untuk backend Anda di "firebaseapphosting-images".

  3. Di Cloud Secret Manager, hapus semua secret yang memiliki "apphosting" dalam nama secret, dengan sangat berhati-hati untuk memastikan secret ini tidak digunakan oleh backend lain atau aspek lain dari project Firebase Anda.