Buka konsol

Target penerapan

Target penerapan adalah ID singkat (yang Anda tentukan sendiri) untuk resource Firebase di project Firebase, seperti situs Hosting dengan aset statis yang unik atau grup instance Realtime Database yang menggunakan aturan keamanan yang sama.

Target penerapan akan berguna saat Anda memiliki beberapa situs Hosting, beberapa bucket Cloud Storage, atau beberapa instance Realtime Database. Dengan menggunakan target penerapan, Firebase CLI dapat menerapkan setelan ke resource Firebase atau grup resource tertentu di project Anda, seperti:

  • Konfigurasi hosting untuk setiap situs Hosting
  • Aset statis dari direktori project untuk setiap situs Hosting
  • Aturan keamanan yang dibagikan oleh beberapa instance Realtime Database atau beberapa bucket Cloud Storage

Untuk menyiapkan target penerapan:

  1. Terapkan target name ke resource Firebase atau grup resource Firebase yang ditargetkan.
  2. Di file firebase.json, referensikan target name terkait saat Anda mengonfigurasi setelan untuk setiap resource atau grup resource.

Saat Anda menjalankan perintah Firebase CLI (seperti firebase deploy), Firebase CLI akan menghubungkan target name dengan resource Firebase yang terkait. CLI kemudian akan melakukan komunikasi dengan project Firebase Anda mengenai setelan untuk setiap resource.

Menyiapkan target penerapan untuk resource Firebase

Dengan menggunakan Firebase CLI, terapkan target name (ID singkat yang Anda tentukan sendiri) ke resource Firebase atau grup resource Firebase. Firebase mendukung penerapan target untuk:

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

Menyiapkan target penerapan untuk Hosting

Untuk membuat target penerapan dan menerapkan target name ke situs Hosting, jalankan perintah CLI berikut:

firebase target:apply type target-name resource-name

Dengan parameter:

  • type — jenis resource Firebase yang relevan

    • Untuk situs Firebase Hosting, gunakan hosting.
  • target-name — ID unik untuk situs Hosting yang menjadi target penerapan

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

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

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

Menyiapkan target penerapan untuk Cloud Storage atau Realtime Database

Untuk membuat target penerapan dan menerapkan target name ke resource Cloud Storage atau Realtime Database, jalankan perintah CLI berikut:

firebase target:apply type target-name resource1-name resource2-name ...

Dengan parameter:

  • type — jenis resource Firebase yang relevan

    • Untuk bucket Cloud Storage, gunakan storage.
    • Untuk instance Realtime Database, gunakan database.
  • target-name — ID unik untuk resource atau grup resource yang menggunakan aturan keamanan yang sama

  • resource-name — nama resource seperti yang tercantum dalam project Firebase Anda (seperti nama bucket penyimpanan atau nama instance database) yang menggunakan aturan keamanan yang sama

Misalnya, Anda dapat menerapkan target name main ke grup yang terdiri dari tiga bucket Cloud Storage regional (yang menggunakan aturan keamanan yang sama) dengan menjalankan perintah berikut:

firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja

Mengonfigurasikan file firebase.json untuk menggunakan target penerapan

Setelah menyiapkan target penerapan untuk resource Firebase Anda, referensikan target name yang diterapkan di file konfigurasi firebase.json:

  1. Buat array objek konfigurasi untuk setiap type resource Firebase (hosting, storage, atau database).
  2. Pada array tersebut, tentukan target (menggunakan target name) dan tetapkan setelan untuk resource Firebase atau grup resource yang terkait.

Melanjutkan contoh di atas, ketika project Firebase Anda memiliki dua situs Hosting dan tiga bucket Cloud Storage (yang menggunakan aturan keamanan yang sama), file firebase.json akan terlihat seperti ini:

{
  "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
    }
  ]
}

{
  "storage": [ {
      "target": "main",  // "main" is the applied target name for the group of Storage buckets
      "rules": "storage.main.rules"  // the file that contains the shared security rules
    }
  ]
}

Jika Anda memiliki beberapa konfigurasi untuk resource, Anda dapat membuat beberapa target penerapan dan menentukan masing-masing target di file firebase.json. Semua resource yang terkait akan diterapkan bersamaan saat Anda menjalankan firebase deploy.

Menerapkan ke resource Firebase tertentu menggunakan target penerapan

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 deploy --only storage:target-name Hanya menerapkan file aturan untuk target Cloud Storage yang ditentukan
firebase deploy --only database:target-name Hanya menerapkan file aturan untuk target Realtime Database yang ditentukan

Jalankan salah satu perintah berikut untuk menguji situs secara lokal sebelum diterapkan ke project Firebase Anda:

firebase serve
firebase serve --only hosting:target-name

Mengelola target penerapan

Setelan target penerapan disimpan di file .firebaserc pada direktori project Anda. Anda dapat mengelola target penerapan project dengan menjalankan salah satu perintah berikut dari root direktori project

Perintah Deskripsi
firebase target Mencantumkan target penerapan untuk direktori project saat ini
firebase target:remove type resource-name Menghapus resource dari target yang telah ditentukan
firebase target:clear type target-name Menghapus semua resource atau situs Hosting dari target yang ditentukan

Perintah remove dan clear secara otomatis memperbarui setelan target penerapan di file .firebaserc pada direktori project Anda.