Firebase CLI (GitHub) menyediakan beragam alat untuk mengelola, melihat, dan men-deploy ke project Firebase.
Sebelum menggunakan Firebase CLI, siapkan project Firebase.
Menyiapkan atau mengupdate CLI
Instal Firebase CLI
Anda dapat menginstal Firebase CLI menggunakan metode yang cocok dengan sistem operasi,
tingkat pengalaman, dan/atau kasus penggunaan Anda. Terlepas dari cara Anda menginstal
CLI, Anda memiliki akses ke perintah firebase
dan fungsionalitas yang sama.
Windows
Anda dapat menginstal Firebase CLI untuk Windows menggunakan salah satu opsi berikut:
Opsi | Deskripsi | Disarankan untuk... |
---|---|---|
biner mandiri | Download biner mandiri untuk CLI. Selanjutnya, Anda dapat mengakses file yang dapat dieksekusi untuk membuka shell guna menjalankan perintah firebase .
|
Developer baru Developer yang tidak menggunakan atau belum familier dengan Node.js |
npm | Gunakan npm (Pengelola Paket Node) untuk menginstal CLI dan mengaktifkan perintah firebase yang tersedia secara global.
|
Developer yang menggunakan Node.js |
biner mandiri
Agar dapat mendownload dan menjalankan biner untuk Firebase CLI, ikuti langkah-langkah berikut:
Download biner Firebase CLI untuk Windows.
Akses biner untuk membuka shell tempat Anda dapat menjalankan perintah
firebase
.Lanjutkan untuk login dan menguji CLI.
npm
Agar dapat menggunakan npm
(Pengelola Paket Node) untuk menginstal
Firebase CLI, ikuti langkah-langkah berikut:
Instal Node.js menggunakan nvm-windows (Pengelola Versi Node). Penginstalan Node.js akan otomatis menginstal alat perintah
npm
.Instal Firebase CLI melalui
npm
dengan menjalankan perintah berikut:npm install -g firebase-tools
Perintah ini mengaktifkan perintah
firebase
yang tersedia secara global.Lanjutkan untuk login dan menguji CLI.
macOS atau Linux
Anda dapat menginstal Firebase CLI untuk macOS atau Linux menggunakan salah satu opsi berikut:
Opsi | Deskripsi | Disarankan untuk... |
---|---|---|
skrip penginstalan otomatis | Jalankan satu perintah yang otomatis mendeteksi sistem operasi Anda, mendownload rilis CLI terbaru, lalu mengaktifkan perintah firebase yang tersedia secara global.
|
Developer baru Developer yang tidak menggunakan atau belum familier dengan Node.js Deployment otomatis di lingkungan CI/CD |
biner mandiri | Download biner mandiri untuk CLI. Selanjutnya, Anda dapat mengonfigurasi dan menjalankan biner sesuai dengan alur kerja Anda. | Alur kerja yang dapat disesuaikan sepenuhnya menggunakan CLI |
npm | Gunakan npm (Pengelola Paket Node) untuk menginstal CLI dan mengaktifkan perintah firebase yang tersedia secara global.
|
Developer yang menggunakan Node.js |
skrip penginstalan otomatis
Untuk menginstal Firebase CLI menggunakan skrip penginstalan otomatis, ikuti langkah-langkah berikut:
Jalankan perintah cURL berikut:
curl -sL https://firebase.tools | bash
Skrip ini otomatis mendeteksi sistem operasi Anda, mendownload rilis Firebase CLI terbaru, lalu mengaktifkan perintah
firebase
yang tersedia secara global.Lanjutkan untuk login dan menguji CLI.
Untuk mengetahui contoh dan detail lebih lanjut tentang skrip penginstalan otomatis, pelajari kode sumber skrip di firebase.tools.
biner mandiri
Agar dapat mendownload dan menjalankan biner untuk Firebase CLI yang dibuat khusus untuk OS Anda, ikuti langkah-langkah berikut:
(Opsional) Siapkan perintah
firebase
yang tersedia secara global.- Jadikan biner sebagai file yang dapat dieksekusi dengan menjalankan
chmod +x ./firebase_tools
. - Tambahkan jalur biner ke JALUR Anda.
- Jadikan biner sebagai file yang dapat dieksekusi dengan menjalankan
Lanjutkan untuk login dan menguji CLI.
npm
Agar dapat menggunakan npm
(Pengelola Paket Node) untuk menginstal Firebase CLI,
ikuti langkah-langkah berikut:
Instal Node.js menggunakan nvm (Pengelola Versi Node).
Jika Node.js diinstal, alat perintahnpm
juga akan otomatis terinstal.Instal Firebase CLI melalui
npm
dengan menjalankan perintah berikut:npm install -g firebase-tools
Perintah ini mengaktifkan perintah
firebase
yang tersedia secara global.Lanjutkan untuk login dan menguji CLI.
Login dan menguji Firebase CLI
Setelah menginstal CLI, Anda harus menjalankan autentikasi. Selanjutnya, Anda dapat mengonfirmasi autentikasi dengan mencantumkan project Firebase Anda.
Login ke Firebase menggunakan akun Google Anda dengan menjalankan perintah berikut:
firebase login
Perintah ini menghubungkan komputer lokal Anda ke Firebase dan memberikan akses ke project Firebase Anda.
Uji untuk memastikan bahwa CLI sudah diinstal dan mengakses akun Anda dengan benar dengan menampilkan daftar project Firebase Anda. Jalankan perintah berikut:
firebase projects:list
Daftar yang ditampilkan harus sama dengan project Firebase yang tercantum di Firebase console.
Mengupdate ke versi CLI terbaru
Secara umum, Anda sebaiknya menggunakan versi Firebase CLI terbaru.
Cara Anda mengupdate versi CLI bergantung pada sistem operasi dan cara Anda menginstal CLI.
Windows
- biner mandiri: Download versi baru, lalu ganti di sistem Anda
- npm: Jalankan
npm install -g firebase-tools
macOS
- skrip penginstalan otomatis: Jalankan
curl -sL https://firebase.tools | upgrade=true bash
- biner mandiri: Download versi baru, lalu ganti di sistem Anda
- npm: Jalankan
npm install -g firebase-tools
Linux
- skrip penginstalan otomatis: Jalankan
curl -sL https://firebase.tools | upgrade=true bash
- biner mandiri: Download versi baru, lalu ganti di sistem Anda
- npm: Jalankan
npm install -g firebase-tools
Menggunakan CLI dengan sistem CI
Firebase CLI membutuhkan browser untuk menyelesaikan autentikasi, tetapi CLI sepenuhnya kompatibel dengan CI dan lingkungan headless lainnya.
Di komputer yang dilengkapi browser, instal Firebase CLI.
Mulai proses login dengan menjalankan perintah berikut:
firebase login:ci
Buka URL yang disediakan, lalu login menggunakan akun Google.
Cetak token refresh baru. Sesi CLI saat ini tidak akan terpengaruh.
Simpan token output dengan cara yang aman tetapi mudah diakses di sistem CI Anda.
Gunakan token ini saat menjalankan perintah
firebase
. Anda dapat menggunakan salah satu dari dua opsi berikut:Opsi 1: Menyimpan token sebagai variabel lingkungan
FIREBASE_TOKEN
. Sistem Anda akan otomatis menggunakan token ini.Opsi 2: Menjalankan semua perintah
firebase
dengan flag--token TOKEN
di sistem CI Anda.
Ini adalah urutan prioritas untuk pemuatan token: flag, variabel lingkungan, project Firebase yang diinginkan.
Menginisialisasi project Firebase
Banyak tugas umum yang dijalankan menggunakan CLI, seperti men-deploy ke project Firebase, memerlukan direktori project. Anda perlu membuat direktori project menggunakan perintah firebase init
. Direktori project biasanya merupakan direktori yang sama dengan root kontrol sumber Anda, dan setelah menjalankan firebase init
, direktori tersebut akan berisi file konfigurasi firebase.json
.
Untuk menginisialisasi project Firebase baru, jalankan perintah berikut dari dalam direktori aplikasi Anda:
firebase init
Perintah firebase init
akan memandu Anda menyiapkan direktori project
dan beberapa produk Firebase. Selama inisialisasi project, Firebase CLI akan
meminta Anda menyelesaikan tugas-tugas berikut:
Pilih produk Firebase yang diinginkan, yang akan disiapkan di project Firebase Anda.
Langkah ini akan meminta Anda untuk menetapkan konfigurasi file tertentu bagi produk yang dipilih. Untuk mengetahui informasi lebih lanjut seputar konfigurasi ini, baca dokumentasi produk tertentu yang terkait (misalnya, Hosting). Perlu diperhatikan bahwa Anda dapat menjalankan
firebase init
nanti untuk menyiapkan produk Firebase lainnya.Pilih project Firebase default.
Langkah ini menghubungkan direktori project saat ini dengan project Firebase, sehingga perintah khusus project (seperti
firebase deploy
) dijalankan terhadap project Firebase yang sesuai.Anda juga dapat menghubungkan beberapa project Firebase (misalnya project staging dan produksi) dengan direktori project yang sama.
Di akhir inisialisasi, Firebase akan otomatis membuat dua file berikut di root direktori aplikasi lokal Anda:
File konfigurasi
firebase.json
yang mencantumkan konfigurasi project Anda.File
.firebaserc
yang menyimpan alias project Anda.
File firebase.json
Perintah firebase init
akan membuat
file konfigurasi firebase.json
di root direktori project Anda.
File firebase.json
diperlukan untuk
men-deploy aset dengan Firebase CLI karena file tersebut menentukan
file dan setelan mana dari direktori project Anda yang di-deploy ke
project Firebase Anda. Karena beberapa setelan dapat ditentukan di direktori
project Anda atau
Firebase console, pastikan Anda menyelesaikan setiap potensi
konflik deployment.
Anda dapat mengonfigurasi sebagian besar opsi Firebase Hosting
secara langsung di file firebase.json
. Namun, untuk
layanan Firebase lain yang dapat di-deploy dengan Firebase CLI, perintah firebase init
akan menghasilkan file tertentu yang dapat Anda gunakan untuk menentukan setelan
bagi layanan tersebut, misalnya file index.js
untuk Cloud Functions. Anda juga
dapat menyiapkan hook pra-deployment atau pasca-deployment di file firebase.json
.
Berikut adalah contoh file firebase.json
dengan setelan default jika Anda
memilih Firebase Hosting, Cloud Firestore, dan Cloud Functions for Firebase
(dengan opsi lint dan sumber TypeScript dipilih) selama inisialisasi.
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}
Meskipun firebase.json
digunakan secara default, Anda dapat meneruskan
flag --config PATH
untuk menentukan file
konfigurasi alternatif.
Konfigurasi untuk beberapa database Cloud Firestore
Saat Anda menjalankan firebase init
, file firebase.json
akan berisi satu
kunci firestore
yang sesuai dengan database default project Anda, seperti yang ditunjukkan
di atas.
Jika project Anda berisi beberapa database Cloud Firestore, edit
file firebase.json
untuk mengaitkan berbagai Cloud Firestore Security Rules dan
file sumber indeks database dengan setiap database. Ubah file dengan
array JSON, dengan satu entri untuk setiap database.
"firestore": [
{
"database": "(default)",
"rules": "firestore.default.rules",
"indexes": "firestore.default.indexes.json"
},
{
"database": "ecommerce",
"rules": "firestore.ecommerce.rules",
"indexes": "firestore.ecommerce.indexes.json"
}
],
File Cloud Functions yang akan diabaikan saat di-deploy
Pada waktu deployment fungsi, CLI akan otomatis menentukan
daftar file dalam direktori functions
yang akan diabaikan. Hal ini mencegah deployment ke file yang tidak relevan di backend yang dapat meningkatkan ukuran data deployment.
Daftar file yang diabaikan secara default, yang ditampilkan dalam format JSON, adalah:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Jika Anda menambahkan nilai kustom sendiri untuk ignore
di firebase.json
, pastikan
Anda mempertahankan (atau menambahkan, jika hilang) daftar file yang ditampilkan di atas.
Mengelola alias project
Anda dapat menghubungkan beberapa project Firebase dengan direktori project yang sama.
Misalnya, Anda mungkin ingin menggunakan satu project Firebase untuk staging dan satu lagi untuk produksi. Dengan menggunakan lingkungan project yang berbeda, Anda dapat memverifikasi perubahan sebelum di-deploy ke produksi. Dengan perintah firebase use
, Anda dapat beralih antar-alias dan membuat alias baru.
Menambahkan alias project
Project Firebase yang Anda pilih selama inisialisasi project akan otomatis mendapatkan alias default
. Namun, agar perintah khusus project dijalankan terhadap project Firebase lain sekaligus tetap menggunakan direktori project yang sama, jalankan perintah berikut dari dalam direktori project Anda:
firebase use --add
Perintah ini akan meminta Anda untuk memilih project Firebase lain dan menetapkannya sebagai alias. Penetapan alias ditulis ke file .firebaserc
di dalam direktori project Anda.
Menggunakan alias project
Untuk menggunakan alias project Firebase yang ditetapkan, jalankan salah satu perintah berikut dari dalam direktori project Anda.
Perintah | Deskripsi |
---|---|
firebase use |
Melihat daftar alias yang saat ini ditetapkan untuk direktori project Anda |
firebase use \ |
Mengarahkan semua perintah agar dijalankan terhadap project Firebase yang ditentukan.
CLI menggunakan project ini sebagai "project aktif" saat ini. |
firebase use --clear |
Menghapus project aktif.
Jalankan |
firebase use \ |
Menghapus alias dari direktori project Anda. |
Anda dapat mengganti project yang digunakan sebagai project aktif saat ini dengan meneruskan flag --project
dengan perintah CLI apa pun. Misalnya: Anda dapat menyetel CLI agar dijalankan terhadap project Firebase yang telah Anda beri alias staging
. Jika ingin menjalankan perintah tunggal terhadap project Firebase yang telah Anda beri alias prod
, Anda dapat menjalankan, misalnya,
.
Kontrol sumber dan alias project
Secara umum, Anda harus melakukan check in file .firebaserc
ke dalam kontrol sumber agar tim Anda dapat berbagi alias project. Namun, untuk project open source atau template starter, biasanya Anda tidak perlu melakukan check in file .firebaserc
.
Jika Anda memiliki project pengembangan khusus untuk penggunaan sendiri, Anda dapat meneruskan flag --project
dengan setiap perintah atau menjalankan firebase use PROJECT_ID
tanpa menetapkan alias untuk project Firebase.
Menyalurkan dan menguji project Firebase Anda secara lokal
Anda dapat melihat dan menguji project Firebase pada URL yang dihosting secara lokal sebelum di-deploy ke produksi. Jika Anda hanya ingin menguji fitur tertentu, gunakan daftar yang dipisahkan koma dalam sebuah flag pada perintah firebase serve
.
Jalankan perintah berikut dari root direktori project lokal jika Anda ingin melakukan salah satu dari tugas berikut:
- Melihat konten statis untuk aplikasi yang dihosting Firebase.
- Gunakan Cloud Functions untuk membuat konten dinamis Firebase Hosting dan sebaiknya gunakan fungsi HTTP produksi (yang di-deploy) untuk mengemulasikan Hosting di URL lokal.
firebase serve --only hosting
Mengemulasikan project Anda menggunakan fungsi HTTP lokal
Jalankan salah satu perintah berikut dari direktori project Anda untuk mengemulasikan project menggunakan fungsi HTTP lokal.
Untuk mengemulasikan fungsi HTTP dan hosting untuk pengujian pada URL lokal, gunakan salah satu perintah berikut:
firebase serve
firebase serve --only functions,hosting // uses a flag
Untuk mengemulasikan fungsi HTTP saja, gunakan perintah berikut:
firebase serve --only functions
Menguji dari perangkat lokal lainnya
Secara default, firebase serve
hanya merespons permintaan dari localhost
. Artinya, Anda akan dapat mengakses konten yang dihosting dari browser web komputer Anda, tetapi tidak dari perangkat lain di jaringan Anda. Jika Anda ingin melakukan pengujian dari perangkat lokal lainnya, gunakan flag --host
, seperti ini:
firebase serve --host 0.0.0.0 // accepts requests to any host
Men-deploy ke project Firebase
Firebase CLI mengelola deployment kode dan aset ke project Firebase Anda, termasuk:
- Rilis baru dari situs Firebase Hosting Anda
- Cloud Functions for Firebase baru, yang diperbarui, atau yang sudah ada
- Skema dan konektor baru atau yang diperbarui untuk Firebase Data Connect
- Aturan untuk Firebase Realtime Database
- Aturan untuk Cloud Storage for Firebase
- Aturan untuk Cloud Firestore
- Indeks untuk Cloud Firestore
Untuk men-deploy ke project Firebase, jalankan perintah berikut dari direktori project Anda:
firebase deploy
Jika ingin, Anda dapat menambahkan komentar ke setiap deployment. Komentar ini akan ditampilkan dengan informasi penerapan lainnya di halaman Firebase Hosting project Anda. Contoh:
firebase deploy -m "Deploying the best new feature ever."
Saat menggunakan perintah firebase deploy
, Anda harus memperhatikan hal-hal berikut:
Untuk men-deploy resource dari direktori project, direktori project tersebut harus memiliki file
firebase.json
. File ini dibuat otomatis untuk Anda dengan perintahfirebase init
.Secara default,
firebase deploy
akan membuat rilis untuk semua resource yang dapat di-deploy dalam direktori project Anda. Untuk men-deploy layanan atau fitur Firebase tertentu, gunakan deployment parsial.
Konflik deployment untuk aturan keamanan
Untuk Firebase Realtime Database, Cloud Storage for Firebase, dan Cloud Firestore, Anda dapat menentukan aturan keamanan di direktori project lokal atau di Firebase console.
Opsi lain untuk menghindari konflik deployment adalah menggunakan deployment parsial dan hanya menentukan aturan di Firebase console.
Kuota deployment
Anda mungkin saja (meskipun kemungkinannya kecil) melebihi kuota yang membatasi tingkat atau volume operasi deployment Firebase. Misalnya, saat men-deploy fungsi dalam jumlah besar, Anda mungkin menerima pesan error HTTP 429 Quota
. Untuk mengatasi masalah tersebut, coba gunakan deployment parsial.
Me-roll back deployment
Anda dapat me-roll back deployment Firebase Hosting dari halaman Firebase Hosting project Anda dengan memilih tindakan Rollback untuk rilis yang diinginkan.
Saat ini, roll back rilis aturan keamanan untuk Firebase Realtime Database, Cloud Storage for Firebase, atau Cloud Firestore belum bisa dilakukan.
Men-deploy layanan Firebase tertentu
Jika Anda hanya ingin men-deploy fitur atau layanan Firebase tertentu, gunakan
daftar yang dipisahkan koma dalam sebuah flag pada perintah firebase deploy
. Misalnya,
perintah berikut men-deploy konten Firebase Hosting dan
aturan keamanan Cloud Storage.
firebase deploy --only hosting,storage
Tabel berikut berisi daftar layanan dan fitur yang tersedia untuk deployment
parsial. Nama-nama dalam flag sesuai dengan kunci dalam file konfigurasi
firebase.json
Anda.
Sintaks flag | Layanan atau fitur yang di-deploy |
---|---|
--only hosting |
Konten dalam bahasa Firebase Hosting |
--only database |
Firebase Realtime Database aturan |
--only dataconnect |
Skema dan konektor Firebase Data Connect |
--only storage |
Cloud Storage for Firebase aturan |
--only firestore |
Aturan dan indeks Cloud Firestore untuk semua database yang dikonfigurasi |
--only functions |
Cloud Functions for Firebase (mungkin ada versi yang lebih spesifik dari flag ini) |
Men-deploy fungsi tertentu
Saat men-deploy fungsi, Anda dapat menarget fungsi tertentu. Contoh:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Opsi lainnya adalah mengelompokkan fungsi ke dalam grup ekspor di file /functions/index.js
Anda. Dengan mengelompokkan fungsi, Anda dapat men-deploy beberapa fungsi menggunakan satu perintah.
Misalnya, Anda dapat menulis fungsi berikut untuk menentukan groupA
dan groupB
:
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
Dalam contoh ini, file functions/groupB.js
terpisah berisi fungsi tambahan yang secara khusus menentukan fungsi di groupB
. Contoh:
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
Dalam contoh ini, Anda dapat men-deploy semua fungsi groupA
dengan menjalankan perintah berikut dari direktori project:
firebase deploy --only functions:groupA
Atau, Anda dapat menargetkan fungsi tertentu dalam grup dengan menjalankan perintah berikut:
firebase deploy --only functions:groupA.function1,groupB.function4
Menghapus fungsi
Firebase CLI mendukung perintah dan opsi berikut untuk menghapus fungsi yang sebelumnya di-deploy:
Menghapus semua fungsi yang cocok dengan nama yang ditentukan di semua region:
firebase functions:delete FUNCTION-1_NAME
Menghapus fungsi yang ditentukan, yang berjalan di region non-default:
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
Menghapus lebih dari satu fungsi:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Menghapus grup fungsi tertentu:
firebase functions:delete GROUP_NAME
Mengabaikan permintaan konfirmasi:
firebase functions:delete FUNCTION-1_NAME --force
Menyiapkan tugas dengan skrip untuk pra-deployment dan pasca-deployment
Anda dapat menghubungkan skrip shell ke perintah firebase deploy
untuk melakukan
tugas pra-deployment atau pasca-deployment. Misalnya, skrip pra-deployment dapat melakukan
transpilasi kode TypeScript ke JavaScript, dan hook pasca-deployment dapat memberi tahu
administrator tentang deployment konten situs baru ke Firebase Hosting.
Untuk menyiapkan hook pra-deployment atau pasca-deployment, tambahkan skrip bash ke
file konfigurasi firebase.json
. Anda dapat menentukan
skrip singkat secara langsung di file firebase.json
, atau merujuk ke file lain
yang ada di direktori project Anda.
Misalnya, skrip berikut adalah ekspresi firebase.json
untuk
tugas pasca-deployment yang mengirim pesan Slack setelah deployment ke
Firebase Hosting berhasil.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
File skrip messageSlack.sh
berada dalam direktori project dan akan terlihat
seperti ini:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Anda dapat menyiapkan hook predeploy
dan postdeploy
untuk aset mana pun yang dapat di-deploy. Perlu diperhatikan bahwa menjalankan firebase deploy
akan memicu semua tugas pra-deployment dan pasca-deployment yang ditentukan dalam file firebase.json
Anda. Untuk menjalankan tugas yang terkait dengan layanan Firebase tertentu saja, gunakan perintah deployment parsial.
Baik hook predeploy
maupun postdeploy
akan mencetak output standar dan aliran error skrip ke terminal. Untuk kasus kegagalan, perhatikan hal-hal berikut:
- Jika hook pra-deployment gagal diselesaikan seperti yang diharapkan, deployment akan dibatalkan.
- Jika deployment gagal karena suatu alasan, hook pasca-deployment tidak akan dipicu.
Variabel lingkungan
Dalam skrip yang berjalan di hook pra-deployment dan pasca-deployment, tersedia variabel lingkungan berikut:
$GCLOUD_PROJECT
: Project ID dari project yang aktif$PROJECT_DIR
: Direktori root yang berisi filefirebase.json
$RESOURCE_DIR
: (Hanya untuk skriphosting
danfunctions
) Lokasi direktori yang berisi resource Hosting atau Cloud Functions yang akan di-deploy
Mengelola beberapa instance Realtime Database
Satu project Firebase dapat memiliki beberapa instance Firebase Realtime Database. Secara default, perintah CLI berinteraksi dengan instance database default Anda.
Namun, Anda dapat berinteraksi dengan instance database non-default menggunakan flag --instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Referensi perintah
Perintah administratif CLI
Perintah | Deskripsi |
---|---|
help | Menampilkan informasi bantuan tentang CLI atau perintah tertentu. |
init | Mengaitkan dan menyiapkan project Firebase baru di direktori saat ini.
Perintah ini akan membuat file konfigurasi
firebase.json
di direktori saat ini. |
login | Mengautentikasi CLI ke akun Firebase Anda. Memerlukan akses ke
browser web. Untuk login ke CLI di lingkungan jarak jauh yang tidak mengizinkan akses ke localhost , gunakan flag --no-localhost |
login:ci | Memunculkan token autentikasi untuk penggunaan di lingkungan non-interaktif. |
logout | Membuat CLI logout dari akun Firebase Anda. |
open | Membuka browser ke resource project yang relevan. |
projects:list | Mencantumkan semua project Firebase yang aksesnya Anda miliki. |
use | Menetapkan project Firebase yang aktif untuk CLI. Mengelola alias project. |
Perintah pengelolaan project
Perintah | Deskripsi | |
---|---|---|
Pengelolaan project Firebase | ||
projects:addfirebase | Menambahkan resource Firebase ke project Google Cloud yang ada. | |
projects:create | Membuat project Google Cloud baru, lalu menambahkan resource Firebase ke project baru tersebut. | |
projects:list | Mencantumkan semua project Firebase yang aksesnya Anda miliki. | |
Pengelolaan Aplikasi Firebase (iOS, Android, Web) | ||
apps:create | Membuat Aplikasi Firebase baru di project yang aktif. | |
apps:list | Mencantumkan Aplikasi Firebase yang terdaftar di project yang aktif. | |
apps:sdkconfig | Mencetak konfigurasi layanan Google dari Aplikasi Firebase. | |
setup:web | Tidak digunakan lagi. Sebagai gantinya, gunakan apps:sdkconfig dan tetapkan web sebagai argumen platform.Mencetak konfigurasi layanan Google Aplikasi Web Firebase. |
|
Pengelolaan hash sertifikat SHA (khusus Android) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Menambahkan hash sertifikat SHA yang ditentukan ke Aplikasi Firebase Android yang ditentukan. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
Menghapus hash sertifikat SHA yang ditentukan dari Aplikasi Firebase Android yang ditentukan. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Mencantumkan hash sertifikat SHA untuk Aplikasi Firebase Android yang ditentukan. |
Deployment dan pengembangan lokal
Dengan perintah ini, Anda dapat men-deploy dan berinteraksi dengan situs Firebase Hosting.
Perintah | Deskripsi |
---|---|
deploy | Men-deploy kode dan aset dari direktori project Anda ke project yang
aktif. Untuk Firebase Hosting,
file konfigurasi
firebase.json harus ada.
|
serve | Memulai server web lokal dengan konfigurasi Firebase Hosting.
Untuk Firebase Hosting,
file konfigurasi
firebase.json harus ada. |
Perintah App Distribution
Perintah | Deskripsi |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
Menyediakan build untuk penguji. |
appdistribution:testers:add | Menambahkan penguji ke project. |
appdistribution:testers:remove | Menghapus penguji dari project. |
Perintah App Hosting
Perintah | Deskripsi |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
Membuat kumpulan resource terkelola yang ditautkan ke satu codebase yang terdiri dari backend App Hosting. Jika ingin, tentukan aplikasi Web Firebase yang ada berdasarkan ID aplikasi Firebase-nya. |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Mengambil detail tertentu, termasuk URL publik, dari backend. |
apphosting:backends:list \ --project PROJECT_ID |
Mengambil daftar semua backend aktif yang terkait dengan project. |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Menghapus backend dari project. |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
Mengekspor secret untuk digunakan dalam emulasi aplikasi. Secara default menggunakan secret yang disimpan di apphosting.yaml , atau menggunakan
--secrets untuk menentukan lingkungan apa pun yang memiliki
file apphosting.ENVIRONMENT_NAME.yaml
yang sesuai.
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
Membuat peluncuran yang dipicu secara manual. Secara opsional, tentukan commit terbaru ke cabang atau commit tertentu. Jika tidak ada opsi yang diberikan, minta pemilihan dari daftar cabang. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Menyimpan materi rahasia di Secret Manager. Jika ingin, berikan jalur file tempat membaca data secret. Tetapkan ke _ untuk membaca data secret dari input standar.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Memberikan akses akun layanan backend ke rahasia yang disediakan sehingga dapat diakses oleh App Hosting pada waktu build atau runtime. |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
Mendapatkan metadata untuk rahasia dan versinya. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
Mengakses nilai rahasia berdasarkan rahasia dan versinya. Secara default, akses ke versi terbaru. |
Perintah (pengelolaan pengguna) Authentication
Perintah | Deskripsi |
---|---|
auth:export | Mengekspor akun pengguna dalam project yang aktif ke file JSON atau CSV. Untuk mengetahui informasi lebih lanjut, baca halaman auth:import dan auth:export. |
auth:import | Mengimpor akun pengguna dari file JSON atau CSV ke project yang aktif. Untuk mengetahui detail selengkapnya, baca halaman auth:import dan auth:export. |
Perintah Cloud Firestore
Perintah | Deskripsi |
---|---|
firestore:locations |
Cantumkan lokasi yang tersedia untuk database Cloud Firestore Anda. |
firestore:databases:create DATABASE_ID |
Buat instance database dalam mode native di project Firebase Anda. Perintah tersebut mengambil flag berikut:
|
firestore:databases:list |
Mencantumkan database dalam project Firebase. |
firestore:databases:get DATABASE_ID |
Mendapatkan konfigurasi database untuk database yang ditentukan dalam project Firebase Anda. |
firestore:databases:update DATABASE_ID |
Memperbarui konfigurasi database dari database yang ditentukan dalam project Firebase Anda. Setidaknya satu flag wajib diisi. Perintah tersebut mengambil flag berikut:
|
firestore:databases:delete DATABASE_ID |
Menghapus database di project Firebase. |
firestore:indexes |
Buat daftar indeks untuk database di project Firebase Anda. Perintah tersebut menggunakan flag berikut:
|
firestore:delete |
Menghapus dokumen di database project yang aktif. Dengan CLI, Anda dapat menggunakan penghapusan berulang untuk menghapus semua dokumen dalam koleksi. Perlu diperhatikan bahwa penghapusan data Cloud Firestore dengan CLI akan menimbulkan biaya baca dan penghapusan. Untuk mengetahui informasi lebih lanjut, lihat Memahami penagihan Cloud Firestore. Perintah tersebut menggunakan flag berikut:
|
Perintah Cloud Functions for Firebase
Perintah | Deskripsi |
---|---|
functions:config:clone | Meng-clone lingkungan project lain ke dalam project Firebase yang aktif. |
functions:config:get | Mengambil nilai konfigurasi yang ada dari Cloud Functions project yang aktif. |
functions:config:set | Menyimpan nilai konfigurasi runtime dari Cloud Functions project yang aktif. |
functions:config:unset | Menghapus nilai dari konfigurasi runtime project yang aktif. |
functions:log | Membaca log dari Cloud Functions yang di-deploy. |
Untuk mengetahui informasi lebih lanjut, baca dokumentasi konfigurasi lingkungan.
Perintah Crashlytics
Perintah | Deskripsi |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Menghasilkan ID file pemetaan unik dalam file resource Android (XML) yang ditentukan. |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Mengupload file pemetaan yang kompatibel dengan Proguard (TXT) untuk aplikasi ini, dan mengaitkannya dengan ID file pemetaan yang dideklarasikan dalam file resource Android (XML) yang ditentukan. |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Menghasilkan file simbol yang kompatibel dengan Crashlytics untuk error library native di Android dan menguploadnya ke server Firebase. |
Perintah Data Connect
Perintah ini dan kasus penggunaannya dibahas lebih mendetail dalam panduan referensi Data Connect CLI.
Perintah | Deskripsi |
---|---|
dataconnect:services:list | Mencantumkan semua layanan Data Connect yang di-deploy di project Firebase Anda. |
dataconnect:sql:diff \ SERVICE_ID |
Untuk layanan yang ditentukan, menampilkan perbedaan antara skema Data Connect lokal dan skema database Cloud SQL Anda. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Memigrasikan skema database Cloud SQL agar cocok dengan skema Data Connect lokal Anda. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
Memberikan peran SQL ke email pengguna atau akun layanan yang ditentukan.
Untuk flag --role , peran SQL yang akan diberikan adalah salah satu dari:
owner , writer , atau reader .
Untuk flag --email , berikan alamat email pengguna atau akun layanan yang akan diberi peran.
|
dataconnect:sdk:generate | Membuat SDK berjenis untuk konektor Data Connect Anda. |
Perintah Extensions
Perintah | Deskripsi |
---|---|
ext | Menampilkan informasi tentang cara menggunakan perintah Firebase Extensions. Mencantumkan instance ekstensi yang terinstal di project yang aktif. |
ext:configure \ EXTENSION_INSTANCE_ID |
Mengonfigurasi ulang parameter value instance ekstensi di manifes ekstensi. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Mencetak informasi mendetail terkait sebuah ekstensi. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Menambahkan instance ekstensi baru ke dalam manifes ekstensi. |
ext:list | Mencantumkan semua instance ekstensi yang terinstal di project Firebase. Mencetak ID instance untuk setiap ekstensi. |
ext:uninstall \ EXTENSION_INSTANCE_ID |
Menghapus instance ekstensi dari manifes ekstensi. |
ext:update \ EXTENSION_INSTANCE_ID |
Mengupdate instance ekstensi ke versi terbaru dalam manifes ekstensi. |
ext:export | Mengekspor semua instance ekstensi yang diinstal dari project Anda ke manifes ekstensi. |
Perintah penayang Extensions
Perintah | Deskripsi |
---|---|
ext:dev:init | Menginisialisasi codebase kerangka untuk ekstensi baru di direktori saat ini. |
ext:dev:list \ PUBLISHER_ID |
Mencetak daftar semua ekstensi yang diupload oleh penayang. |
ext:dev:register | Mendaftarkan project Firebase sebagai project penayang ekstensi. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Menghentikan penggunaan versi ekstensi yang cocok dengan predikat versi. Predikat versi dapat berupa versi tunggal (seperti 1.0.0 ), atau rentang versi (seperti >1.0.0 ).Jika predikat versi tidak tersedia, semua versi ekstensi tersebut akan dihentikan. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Menghentikan penggunaan versi ekstensi yang cocok dengan predikat versi. Predikat versi dapat berupa versi tunggal (seperti 1.0.0 ), atau rentang versi (seperti >1.0.0 ).Jika predikat versi tidak tersedia, semua versi ekstensi tersebut akan dihentikan. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Mengupload versi baru sebuah ekstensi. |
ext:dev:usage \ PUBLISHER_ID |
Menampilkan jumlah instal dan metrik penggunaan untuk ekstensi yang diupload oleh penayang. |
Perintah Hosting
Perintah | Deskripsi |
---|---|
hosting:disable |
Menghentikan penyaluran traffic Firebase Hosting untuk project Firebase yang aktif. URL Hosting project Anda akan menampilkan pesan "Site Not Found" setelah perintah ini dijalankan. |
Pengelolaan situs Hosting | |
firebase hosting:sites:create \ SITE_ID |
Membuat situs Hosting baru di project Firebase yang aktif menggunakan
(Opsional) Tentukan Aplikasi Web Firebase yang ada untuk dikaitkan
dengan situs baru dengan meneruskan flag berikut:
|
firebase hosting:sites:delete \ SITE_ID |
Menghapus situs Hosting yang ditentukan CLI akan menampilkan permintaan konfirmasi sebelum menghapus situs. (Opsional) Lewati permintaan konfirmasi dengan meneruskan flag berikut: |
firebase hosting:sites:get \ SITE_ID |
Mengambil informasi tentang situs Hosting yang ditentukan |
firebase hosting:sites:list |
Mencantumkan semua situs Hosting untuk project Firebase yang aktif |
Pengelolaan saluran pratinjau | |
firebase hosting:channel:create \ CHANNEL_ID |
Membuat saluran pratinjau baru di
situs Hosting default menggunakan Perintah ini tidak melakukan deployment ke saluran. |
firebase hosting:channel:delete \ CHANNEL_ID |
Menghapus saluran pratinjau yang ditentukan Anda tidak dapat menghapus saluran live situs. |
firebase hosting:channel:deploy \ CHANNEL_ID |
Men-deploy konten dan konfigurasi Hosting ke saluran pratinjau yang ditentukan Jika saluran pratinjau belum ada, perintah ini akan membuat saluran tersebut di situs Hosting default sebelum melakukan deployment ke sana. |
firebase hosting:channel:list | Mencantumkan semua saluran (termasuk saluran "live") di situs Hosting default |
firebase hosting:channel:open \ CHANNEL_ID |
Membuka browser ke URL saluran yang ditentukan, atau menampilkan URL jika tidak dapat membuka saluran di browser |
Meng-clone versi | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Meng-clone versi yang terakhir di-deploy di saluran "sumber" yang ditentukan ke saluran "target" yang ditentukan Perintah ini juga melakukan deployment ke saluran "target" yang ditentukan. Jika saluran "target" belum ada, perintah ini akan membuat saluran pratinjau baru di situs Hosting "target" sebelum melakukan deployment ke sana. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Meng-clone versi yang ditentukan ke saluran "target" yang ditentukan Perintah ini juga melakukan deployment ke saluran "target" yang ditentukan. Jika saluran "target" belum ada, perintah ini akan membuat saluran pratinjau baru di situs Hosting "target" sebelum melakukan deployment ke sana. Anda dapat menemukan |
Perintah Realtime Database
Perlu diperhatikan bahwa Anda dapat membuat instance Realtime Database default awal di
Firebase console atau menggunakan alur kerja firebase init
umum atau alur
firebase init database
tertentu.
Setelah instance dibuat, Anda dapat mengelolanya seperti yang dibahas di bagian Mengelola beberapa instance Realtime Database.
Perintah | Deskripsi |
---|---|
database:get | Mengambil data dari database project yang aktif dan menampilkannya sebagai JSON. Mendukung pembuatan kueri atas data terindeks. |
database:instances:create | Membuat instance database dengan nama instance yang ditetapkan. Menerima opsi --location untuk membuat database di region yang ditetapkan. Untuk mengetahui daftar nama region yang dapat digunakan dengan opsi ini, lihat bagian memilih lokasi untuk project Anda.
Jika tidak ada instance database untuk project saat ini, Anda akan diminta untuk menjalankan alur firebase init untuk membuat instance.
|
database:instances:list | Mencantumkan semua instance database untuk project ini. Menerima opsi --location untuk mencantumkan database di region yang ditetapkan. Untuk mengetahui daftar nama region yang dapat digunakan dengan opsi ini, lihat bagian memilih lokasi untuk project Anda. |
database:profile | Membuat profil operasi di database project yang aktif. Untuk mengetahui detail selengkapnya, baca bagian Jenis operasi Realtime Database. |
database:push | Mengirimkan data yang baru ke suatu daftar di lokasi tertentu dalam database project yang aktif. Mengambil input dari file, STDIN, atau argumen command line. |
database:remove | Menghapus semua data di lokasi tertentu dalam database project yang aktif. |
database:set | Mengganti semua data di lokasi tertentu dalam database project yang aktif. Mengambil input dari file, STDIN, atau argumen command line. |
database:update | Menjalankan pembaruan parsial di lokasi tertentu dalam database project yang aktif. Mengambil input dari file, STDIN, atau argumen command line. |
Perintah Remote Config
Perintah | Deskripsi |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Mencantumkan sepuluh versi template terbaru. Tentukan 0 untuk menampilkan semua versi yang ada, atau teruskan opsi --limit untuk membatasi jumlah versi yang ditampilkan. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
Mendapatkan template berdasarkan versi (ditetapkan secara default ke versi terbaru) dan membuat output grup parameter, parameter, serta nama dan versi kondisi ke tabel. Jika ingin, Anda dapat menuliskan output ke file tertentu dengan -o, FILENAME . |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Melakukan roll back template Remote Config ke nomor versi sebelumnya
yang ditentukan atau menetapkan secara default ke satu versi sebelumnya (versi saat ini -1). Jika --force tidak diteruskan, meminta Y/N
sebelum melanjutkan ke rollback. |