Membagikan resource project ke banyak situs

Anda dapat menyiapkan satu atau beberapa situs Firebase Hosting pada sebuah project Firebase. Karena semua situs berada dalam project Firebase yang sama, semua situs ini dapat mengakses resource Firebase lain dalam project tersebut.

  • Setiap situs memiliki konfigurasi hosting sendiri.
  • Setiap situs menghosting koleksi kontennya sendiri.
  • Setiap situs dapat memiliki satu atau beberapa domain terkait.

Dengan menetapkan beberapa situs Hosting dalam project Firebase yang sama, Anda bisa lebih mudah membagikan resource Firebase di antara situs dan aplikasi yang terkait. Misalnya, jika blog, panel admin, dan aplikasi publik Anda disiapkan sebagai situs individual dalam project Firebase yang sama, maka semuanya dapat berbagi database pengguna Firebase Authentication yang sama, selain juga memiliki domain atau konten masing-masing yang unik.

Langkah 1: Update versi Firebase CLI Anda

Akses fitur Firebase Hosting terbaru dengan mengupdate Firebase CLI ke versi terbarunya.

Langkah 2: Tambahkan situs tambahan

Tambahkan situs lain ke project Firebase langsung dari halaman Firebase Hosting. Untuk masing-masing situs, Anda juga memiliki opsi untuk menambahkan domain kustom yang akan menayangkan konten dan konfigurasi yang sama ke beberapa URL.

Menghapus situs sekunder

Hapus situs yang tidak diinginkan langsung dari halaman Firebase Hosting. Perlu diperhatikan bahwa Anda tidak dapat menghapus situs default, yang memiliki nama situs yang sama dengan project ID Firebase Anda.

Langkah 3: Siapkan target deploy untuk situs Anda

Jika Anda memiliki beberapa situs dan menjalankan perintah deploy Firebase CLI, maka CLI memerlukan cara untuk mengomunikasikan setelan yang harus di-deploy ke setiap situs. Dengan target deploy Anda dapat mengidentifikasi situs tertentu secara unik berdasarkan target name-nya di file konfigurasi firebase.json dan di perintah Firebase CLI untuk melakukan pengujian atau proses deployment ke situs Anda.

Untuk membuat target deploy dan menerapkan target name ke situs Hosting, jalankan perintah CLI berikut dari direktori utama project Anda:

firebase target:apply hosting target-name resource-name

Dengan parameter:

  • target-name — ID unik (yang Anda tetapkan sendiri) untuk situs Hosting yang menjadi tujuan deploy

  • resource-name — nama situs Hosting seperti yang tercantum dalam project Firebase Anda

Misalnya, jika Anda telah membuat dua situs (myapp-blog dan myapp-app) di project Firebase, Anda dapat menerapkan target name yang unik ke setiap situs (blog dan app) dengan menjalankan perintah berikut:

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

Setelan untuk target deploy disimpan di file .firebaserc dalam direktori project Anda, sehingga Anda hanya perlu menyiapkan target deploy sekali per project.

Langkah 4: Tetapkan konfigurasi hosting untuk setiap situs

Gunakan target name yang diterapkan situs saat Anda menentukan konfigurasi hostingnya di file firebase.json.

  • Jika file firebase.json Anda menetapkan konfigurasi untuk beberapa situs, gunakan format array:

    {
      "hosting": [ {
          "target": "blog",  // "blog" is the applied target name for the Hosting site "myapp-blog"
          "public": "blog/dist",  // contents of this folder are deployed to the site "myapp-blog"
    
          // ...
        },
        {
          "target": "app",  // "app" is the applied target name for the Hosting site "myapp-app"
          "public": "app/dist",  // contents of this folder are deployed to the site "myapp-app"
    
          // ...
    
          "rewrites": [...]  // You can define specific Hosting configurations for each site
        }
      ]
    }
    
  • Jika file firebase.json Anda menetapkan konfigurasi untuk satu situs saja, format array tidak perlu digunakan:

    {
      "hosting": {
          "target": "blog",
          "public": "dist",
    
          // ...
    
          "rewrites": [...]
      }
    }
    

Langkah 5: Deploy ke situs atau tayangkan secara lokal

Jalankan salah satu perintah berikut dari root direktori project Anda.

Perintah Deskripsi
firebase deploy Membuat rilis untuk semua resource yang dapat diterapkan dalam direktori project Anda
firebase deploy --only hosting:target-name Membuat rilis untuk resource yang ditujukan hanya untuk target Hosting yang ditentukan
firebase serve Menayangkan project Firebase secara lokal
firebase serve --only hosting:target-name Secara lokal menayangkan resource yang ditujukan hanya untuk target Hosting yang ditentukan