Target deploy 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 deployment akan berguna saat Anda memiliki beberapa situs Hosting, beberapa bucket Cloud Storage, atau beberapa instance Realtime Database. Dengan menggunakan target deploy, Firebase CLI dapat men-deploy setelan ke resource atau grup resource Firebase tertentu di project Anda, seperti:
- Konfigurasi hosting untuk setiap situs Hosting
- Aset statis dari direktori project untuk setiap situs Hosting
- Aturan keamanan yang digunakan bersama oleh beberapa instance Realtime Database atau beberapa bucket Cloud Storage
Untuk menyiapkan target deploy:
- Terapkan
TARGET_NAME
ke resource Firebase atau grup resource Firebase yang ditargetkan. - Dalam file
firebase.json
, referensikanTARGET_NAME
terkait saat Anda mengonfigurasi setelan untuk setiap resource atau grup resource.
Saat Anda menjalankan perintah Firebase CLI (seperti
firebase deploy
), Firebase CLI akan memasangkan setiap TARGET_NAME
dengan
resource Firebase terkaitnya. CLI kemudian berkomunikasi dengan project Firebase
Anda mengenai setelan untuk setiap resource.
Menyiapkan target deploy 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 target deploy untuk:
- Situs Firebase Hosting
- Bucket penyimpanan Cloud Storage for Firebase
- Instance Firebase Realtime Database
Setelan untuk target deploy disimpan di file .firebaserc
dalam
direktori project Anda, sehingga Anda hanya perlu menyiapkan target deploy sekali per
project.
Menyiapkan target deployment untuk Hosting
Untuk membuat target deploy dan menerapkan TARGET_NAME
ke situs Hosting, jalankan
perintah CLI berikut:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Dengan parameter:
TYPE — jenis resource Firebase yang relevan
- Untuk situs Firebase Hosting, gunakan
hosting
.
- Untuk situs Firebase Hosting, gunakan
TARGET_NAME — nama unik untuk situs Hosting yang menjadi tujuan deploy
RESOURCE_IDENTIFIER—
SITE_ID
untuk 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 (masing-masing blog
danapp
) ke setiap situs dengan menjalankan
perintah berikut:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Menyiapkan target deployment untuk Cloud Storage atau Realtime Database
Untuk membuat target deploy dan menerapkan TARGET_NAME
ke kumpulan
resource Cloud Storage atau Realtime Database, jalankan perintah CLI
berikut:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Dengan parameter:
TYPE — jenis resource Firebase yang relevan
- Untuk bucket Cloud Storage, gunakan
storage
. - Untuk instance Realtime Database, gunakan
database
.
- Untuk bucket Cloud Storage, gunakan
TARGET_NAME — nama unik untuk resource atau grup resource yang menggunakan aturan keamanan yang sama
RESOURCE_IDENTIFIER — ID untuk resource seperti yang tercantum dalam project Firebase Anda (seperti nama bucket penyimpanan atau ID instance database) yang semuanya menggunakan aturan keamanan yang sama
Misalnya, Anda dapat menerapkan TARGET_NAME
dari main
ke grup yang terdiri dari tiga
bucket Cloud Storage regional (yang semuanya menggunakan aturan keamanan yang sama)
dengan menjalankan perintah berikut:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
Perhatikan bahwa myproject.appspot.com
adalah ID untuk bucket default,
sedangkan myproject-eu
dan myproject-ja
adalah dua bucket tambahan yang dibuat dalam
project Firebase.
Mengonfigurasikan file firebase.json untuk menggunakan target deploy
Setelah Anda menyiapkan target deploy untuk resource Firebase, referensikan setiap TARGET_NAME
yang diterapkan dalam file konfigurasi firebase.json
Anda:
- Buat array objek konfigurasi untuk setiap
TYPE
resource Firebase (hosting
,storage
, ataudatabase
). - Dalam array, tentukan
target
(menggunakanTARGET_NAME
) dan tetapkan setelan untuk resource atau grup resource Firebase yang terkait.
Melanjutkan contoh di atas, jika project Firebase Anda memiliki dua
situs Hosting dan tiga bucket Cloud Storage (yang menggunakan aturan keamanan
yang sama), file firebase.json
Anda 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 Cloud Storage buckets "rules": "storage.main.rules" // the file that contains the shared security rules } ] }
Jika memiliki beberapa konfigurasi untuk resource, Anda dapat membuat beberapa target
deploy dan menentukan setiap target di file firebase.json
. Semua resource terkait akan di-deploy bersamaan saat Anda menjalankan firebase deploy
.
Mengelola target deploy
Setelan untuk target deploy disimpan di file .firebaserc
dalam direktori
project Anda. Anda dapat mengelola target deploy project dengan menjalankan salah satu perintah berikut dari root direktori project.
Perintah | Deskripsi |
---|---|
firebase target
|
Mencantumkan target deploy untuk direktori project saat ini |
firebase target:remove \
|
Menghapus resource dari target yang telah ditentukan |
firebase target:clear \
|
Menghapus semua resource atau situs Hosting dari target yang ditentukan |
Perintah target:remove
dan target:clear
otomatis memperbarui setelan target
deploy di file .firebaserc
dalam direktori project Anda.
Menguji secara lokal sebelum men-deploy
Jalankan salah satu perintah berikut dari root direktori project Anda.
Perintah | Deskripsi |
---|---|
firebase emulators:start
|
Mengemulasi semua resource yang dikonfigurasi di direktori project Anda |
firebase emulators:start \ |
Hanya mengemulasi konten dan konfigurasi Hosting untuk situs Hosting yang ditentukan |
firebase emulators:start \
|
Hanya mengemulasi file aturan untuk target Cloud Storage yang ditentukan |
firebase emulators:start \
|
Hanya mengemulasi file aturan untuk target Realtime Database yang ditentukan |
Pelajari lebih lanjut cara mengonfigurasi dan menggunakan Firebase Local Emulator Suite.
Men-deploy resource Firebase tertentu
Jalankan salah satu perintah berikut dari root direktori project Anda.
Perintah | Deskripsi |
---|---|
firebase deploy
|
Membuat rilis untuk semua resource yang dapat di-deploy dalam direktori project Anda |
firebase deploy \
|
Hanya men-deploy konten dan konfigurasi Hosting untuk situs Hosting yang ditentukan ke saluran live untuk situs tersebut |
firebase hosting:channel:deploy CHANNEL_ID \ |
Hanya men-deploy konten dan konfigurasi Hosting untuk situs Hosting yang ditentukan ke saluran pratinjau untuk situs tersebut |
firebase deploy \
|
Hanya men-deploy file aturan untuk target Cloud Storage yang ditentukan |
firebase deploy \
|
Hanya men-deploy file aturan untuk target Realtime Database yang ditentukan |