Cara alternatif untuk men-deploy ke App Hosting

Sebaiknya gunakan peluncuran otomatis atau peluncuran yang dipicu secara manual dari konsol Firebase. Namun, Anda mungkin memerlukan alur deployment yang lebih disesuaikan. App Hosting memiliki beberapa opsi untuk deployment kustom.

Men-deploy dari sumber dengan Firebase CLI

Firebase CLI v14.4.0 dan yang lebih baru memungkinkan Anda mengirimkan kode sumber dan konfigurasi aplikasi langsung dari mesin lokal ke Firebase. Hal ini berguna jika Anda memiliki deployment Firebase lainnya (seperti aturan keamanan atau fungsi) dan ingin men-deploy aplikasi web dan layanan backend secara bersamaan dengan satu perintah CLI.

Saat deployment, App Hosting mengupload kode sumber Anda ke bucket Google Cloud Storage, menjalankan perintah build framework di Cloud Build, dan men-deploy artefak akhir ke Cloud Run dan Cloud CDN. App Hosting menggunakan proses build yang sama untuk deployment sumber lokal seperti deployment GitHub. Jika Anda memiliki file .gitignore di project, file dan folder yang tercantum di dalamnya akan dikecualikan dari deployment Anda.

Untuk men-deploy aplikasi dari sumber lokal:

  1. Jalankan firebase init apphosting di direktori project lokal Anda.
  2. Saat diminta, pilih Use an existing project, lalu pilih project Firebase yang dipilih.
  3. Pilih backend baru atau yang sudah ada untuk di-deploy; langkah ini menyiapkan deployment App Hosting untuk direktori lokal Anda, yang meminta Anda memberikan informasi yang dibutuhkan App Hosting agar berhasil men-deploy aplikasi Anda:

    1. ID backend yang akan di-deploy
    2. Wilayah tempat deployment dilakukan (jika membuat backend baru)
    3. Jalur ke direktori root kode aplikasi
    4. Runtime Node.js pilihan Anda. Saat Anda memilih runtime versi, Update Image Dasar Otomatis (ABIU) secara otomatis menerapkan patch keamanan ke lingkungan pokok Anda.

    App Hosting menyimpan preferensi deployment Anda di firebase.json (membuat file di project lokal Anda jika tidak ada). Setelah inisialisasi berhasil diselesaikan, Anda dapat menjalankan firebase deploy untuk men-deploy kode sumber ke App Hosting.

Jika Anda telah menyiapkan deployment sumber lokal untuk beberapa backend (artinya ada beberapa entri backendId di firebase.json), firebase deploy akan di-deploy ke setiap backend tersebut. Untuk men-deploy ke backend tertentu, gunakan firebase deploy --only apphosting:backendId

Contoh firebase.json

{
  "apphosting": [
    {
      "backendId": "my-backend",
      // rootDir specifies the directory containing the app to deploy, but the entire
      // parent directory of firebase.json will be zipped and uploaded to ensure that
      // dependencies outside of the app directory will be available at build time.
      "rootDir": "./my-app",
      "ignore": [
        "node_modules",
        ".git",
        "firebase-debug.log",
        "firebase-debug.*.log",
        "functions",
      ],
    },
  ]
}

Men-deploy menggunakan Terraform

Jika memerlukan kontrol yang lebih besar atas proses build dan lingkungan yang di-deploy, Anda dapat men-deploy menggunakan Terraform. Terraform memungkinkan Anda menentukan dan mengelola resource App Hosting menggunakan file konfigurasi deklaratif, dan memberikan kemampuan untuk men-deploy image container bawaan Anda sendiri langsung ke App Hosting, bukan mengandalkan App Hosting untuk membangun dari kode sumber Anda.

Jika Anda baru menggunakan Terraform, lihat Mulai menggunakan Terraform dan Firebase. Jika sudah memahami Terraform, Anda dapat mulai menggunakan file konfigurasi contoh dan resource App Hosting lainnya.

Menyiapkan koneksi GitHub untuk CI/CD

Anda memiliki opsi untuk menghubungkan repositori GitHub kapan saja di tab Deployment setelan backend di konsol Firebase. Dengan begitu, Anda dapat men-deploy prototipe aplikasi dari lingkungan lokal, lalu beralih ke pipeline CI/CD otomatis saat Anda siap.

Men-deploy menggunakan alat AI

Kami akan menghentikan Firebase Studio pada 22 Maret 2027. Meskipun backend App Hosting Anda tidak terpengaruh, tombol Publikasikan di Firebase Studio akan dihentikan. Untuk terus memublikasikan update tanpa mengubah URL, migrasikan project Anda. Pelajari cara melakukan migrasi.