Firebase CLI 參考資料

Firebase CLI (GitHub) 提供了 提供多種實用工具,用於管理、查看及部署 Firebase 專案。

使用 Firebase CLI 前, 設定 Firebase 專案

設定或更新 CLI

安裝 Firebase CLI

您可以使用符合作業的方法安裝 Firebase CLI 系統、經驗層級和/或用途無論您是如何安裝 CLI 提供相同的功能和 firebase 指令。

Windows macOS Linux

Windows

您可以使用下列其中一種方法安裝 Windows 適用的 Firebase CLI 選項:

選項 說明 適用對象
下載 CLI 的獨立二進位檔。這樣一來,您就能存取 以開啟殼層 firebase 指令。 新開發人員

開發人員未使用或不熟悉 Node.js
npm 使用 npm (節點套件管理員) 安裝 CLI 並啟用服務 全域可用的 firebase 指令 開發人員採用 Node.js

獨立二進位

如要下載並執行 Firebase CLI 的二進位檔,請按照下列步驟操作:

  1. 下載 Firebase CLI 二進位檔 Windows

  2. 存取二進位檔以開啟殼層來執行 firebase 指令

  3. 繼續登入並測試 CLI

npm

如要使用 npm (Node Package Manager) 安裝 Firebase CLI,請按照下列步驟操作:

  1. 使用以下程式碼安裝 Node.jsnvm-windows (Node Version Manager)。安裝 Node.js 會自動安裝 npm 指令列工具。

  2. 執行下列指令,透過 npm 安裝 Firebase CLI:

    npm install -g firebase-tools

    這個指令會啟用全域可用的 firebase 指令。

  3. 繼續登入並測試 CLI

macOS 或 Linux

如要安裝 macOS 或 Linux 適用的 Firebase CLI,請使用 以下選項:

選項 說明 適用對象
自動安裝指令碼 執行一個可自動偵測作業系統的指令 下載最新的 CLI 版本,然後在全球使用 firebase 指令。 新開發人員

開發人員未使用或不熟悉 Node.js

持續整合/持續推送軟體更新 環境
下載 CLI 的獨立二進位檔。接著 根據您的工作流程,設定及執行二進位檔。 使用 CLI 即可完全自訂工作流程
npm 使用 npm (節點套件管理員) 安裝 CLI 並啟用服務 全域可用的 firebase 指令 開發人員採用 Node.js

自動安裝指令碼

如要使用自動安裝指令碼安裝 Firebase CLI,請按照下列步驟操作: 步驟如下:

  1. 執行下列 cURL 指令:

    curl -sL https://firebase.tools | bash

    此指令碼會自動偵測作業系統並下載 最新的 Firebase CLI 版本,才能在全球使用 firebase 指令。

  2. 繼續登入並測試 CLI

如需自動安裝指令碼的更多示例和詳細資料,請參閱 將指令碼的原始碼放在 firebase.tools

獨立二進位

如要下載及執行 Firebase CLI 具體的二進位檔 針對作業系統,請按照下列步驟操作:

  1. 下載 OS 適用的 Firebase CLI 二進位檔: macOS | Linux

  2. (選用) 設定全域可用的 firebase 指令。

    1. 執行 chmod +x ./firebase_tools,將二進位檔設為可執行。
    2. 請將二進位檔的路徑新增至 路徑。
    ,瞭解如何調查及移除這項存取權。
  3. 繼續登入並測試 CLI

npm

如要使用 npm (節點套件管理員) 安裝 Firebase CLI, 步驟如下:

  1. 使用以下程式碼安裝 Node.jsnvm (Node Version Manager)。
    安裝 Node.js 會自動安裝 npm 指令列工具。

  2. 執行下列指令,透過 npm 安裝 Firebase CLI:

    npm install -g firebase-tools

    這個指令會啟用全域可用的 firebase 指令。

  3. 繼續登入並測試 CLI

登入並測試 Firebase CLI

安裝 CLI 後,您必須進行驗證。接著您可以確認 藉此驗證自己的 Firebase 專案

  1. 請按照下列步驟操作,使用您的 Google 帳戶登入 Firebase 指令:

    firebase login

    這個指令會將本機電腦連結至 Firebase,並授予您 可用來存取 Firebase 專案

  2. 請透過以下方式測試 CLI 是否已正確安裝並存取您的帳戶: 列出您的 Firebase 專案執行下列指令:

    firebase projects:list

    畫面上顯示的清單應與列出的 Firebase 專案相同 Firebase 控制台

更新至最新版 CLI

一般來說,建議您使用最新的 Firebase CLI 版本。

更新 CLI 版本的方式取決於您的作業系統及 安裝 CLI

Windows

  • 獨立二進位檔下載新的 version、 並在您的系統上替換
  • npm:執行 npm install -g firebase-tools

macOS

  • 自動安裝指令碼:執行 curl -sL https://firebase.tools | upgrade=true bash
  • 獨立二進位檔下載新的 version,則 新的系統中。
  • npm:執行 npm install -g firebase-tools

Linux

  • 自動安裝指令碼:執行 curl -sL https://firebase.tools | upgrade=true bash
  • 獨立二進位檔下載新的 version,則 新的系統中。
  • npm:執行 npm install -g firebase-tools

搭配使用 CLI 與持續整合系統

Firebase CLI 需要瀏覽器才能完成驗證,但 CLI 與 CI 和其他無頭環境完全相容。

  1. 在電腦上使用瀏覽器時 安裝 Firebase CLI

  2. 執行下列指令,啟動登入程序:

    firebase login:ci
  3. 造訪網址中提供的網址,然後使用 Google 帳戶登入。

  4. 列印新文件 更新權杖。 目前的 CLI 工作階段不會受到影響。

  5. 將輸出權杖以安全且可存取的方式,儲存在 CI 系統中。

  6. 執行 firebase 指令時,請使用這個權杖。您可以使用 下列兩個選項:

    • 方法 1:將權杖儲存為環境變數 FIREBASE_TOKEN。您的系統會自動使用權杖。

    • 選項 2:使用以下指令執行所有 firebase 指令: --token TOKEN 旗標。
      這是權杖載入的優先順序:旗標、環境 變數和所需的 Firebase 專案

,瞭解如何調查及移除這項存取權。

初始化 Firebase 專案

使用 CLI 執行的許多常見工作,例如部署至 Firebase 專案需要專案目錄。建立專案目錄 呼叫 firebase init 指令專案目錄通常相同 並設為來源控制根目錄。在執行 firebase init 後, 目錄包含 firebase.json 設定 檔案。

如要初始化新的 Firebase 專案,請在 應用程式的目錄:

firebase init

使用 firebase init 指令逐步設定專案目錄 和部分 Firebase 產品在專案初始化期間,Cloud CLI 的 Firebase CLI 要求您完成下列工作:

  • 選取要在 Firebase 專案中設定的 Firebase 產品。

    這個步驟會提示您針對 所選產品。如要進一步瞭解這些設定,請參閱 特定產品的說明文件 (例如 Hosting)。請注意, 之後隨時可以執行 firebase init 來設定更多 Firebase 產品。

  • 選取預設的 Firebase 專案。

    這個步驟會將目前的專案目錄與 Firebase 專案建立關聯, 該專案的專屬指令 (例如 firebase deploy) 會對 適當的 Firebase 專案

    您也可以將 連結多個 Firebase 專案 (例如測試專案和正式環境專案) 使用同一專案 目錄。

初始化結束時,Firebase 會自動建立以下兩項資源 位於本機應用程式目錄的根目錄:

  • 列出一份清單的 firebase.json 設定檔 您的專案設定。

  • 用於儲存專案的 .firebaserc 檔案 aliases

firebase.json 檔案

firebase init 指令會建立 firebase.json 設定檔,位於專案目錄的根目錄中。

必須要有 firebase.json 檔案,才能 使用 Firebase CLI 部署資產,因為它指定了 系統會將專案目錄中的檔案和設定部署至 Firebase 專案。因為某些設定可以在專案中定義 目錄或 Firebase 控制台,請務必解析所有潛在問題 部署作業發生衝突

您可以設定最多 Firebase Hosting 個選項 直接寫入 firebase.json 檔案不過, 可透過 Firebase CLI 部署 Firebase 服務firebase init 指令會建立特定檔案,您可在當中定義相關設定 例如 Cloud Functionsindex.js 檔案你可以 您也會在 firebase.json 檔案中設定 predeploy or postdeploy 掛鉤

以下是採用預設設定的 firebase.json 檔案範例, 選取 Firebase HostingCloud FirestoreCloud Functions for Firebase

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

根據預設,使用 firebase.json 時,您可以傳遞 使用 --config PATH 標記指定替代值 設定檔

多個 Cloud Firestore 資料庫的設定

執行 firebase init 時,firebase.json 檔案會包含 與專案預設資料庫相對應的 firestore 金鑰,如圖所示 。

如果專案包含多個 Cloud Firestore 資料庫,請編輯 firebase.json 檔案,以便將不同的 Cloud Firestore Security Rules 和 和各個資料庫一起建立資料庫索引來源檔案使用 JSON 陣列,每個資料庫都有一個項目。

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

部署時要忽略 Cloud Functions 個檔案

在函式部署期間,CLI 會自動指定 functions 目錄中要忽略的檔案清單。這個 可避免部署至後端的非必要檔案 可增加部署的資料大小

以下是預設為 JSON 格式忽略的檔案清單:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

如果您在 firebase.json 新增 ignore 的自訂值,請 請務必保留 (或新增) 上述檔案清單。

管理專案別名

您可以將多個 Firebase 專案與同一個專案目錄建立關聯。 舉例來說,您可能會想將一個 Firebase 專案用於測試環境,再使用另一個 Firebase 專案。 。使用不同的專案環境 再部署至實際工作環境firebase use 指令可讓您切換 以及建立新別名

新增專案別名

專案期間選取 Firebase 專案時 初始化時,專案就會自動 已指派 default 的別名。然而,如要允許特定專案的指令 針對不同的 Firebase 專案執行,但仍會使用同一個專案 ,從專案目錄中執行下列指令:

firebase use --add

這個指令會提示您選取其他 Firebase 專案,並指派 並設為別名別名指派設定會寫入當中的 .firebaserc 檔案 。

使用專案別名

如要使用指派的 Firebase 專案別名,請執行下列指令: 。

指令 說明
firebase use 查看專案目錄目前定義的別名清單
firebase use \
PROJECT_ID|ALIAS
指示要對指定 Firebase 專案執行的所有指令。
CLI 會將這項專案設為「進行中專案」。
firebase use --clear 清除進行中的專案。

執行「firebase use PROJECT_ID|ALIAS」即可設定 新的有效專案,再執行其他 CLI 指令。

firebase use \
--unalias PROJECT_ALIAS
從專案目錄中移除別名。

如要覆寫目前使用中的專案,方法是傳送 新增 --project 旗標。舉例來說,您可以設定 針對您指派 staging 的 Firebase 專案執行 CLI 別名。如果您想對某個 Firebase 專案 執行單一指令 您指派了 prod 別名,之後就能執行 舉例來說, firebase deploy --project=prod

來源控管與專案別名

一般來說,您應該在原始碼控管系統中檢查 .firebaserc 檔案,以便 可讓您的團隊共用專案別名不過,就開放原始碼專案 新手範本,通常不應在 .firebaserc 檔案中檢查。

如果您有僅供使用的開發專案,可以 --project 旗標,每個指令或執行 firebase use PROJECT_ID 而未指派別名給 Firebase 專案

在本機提供並測試 Firebase 專案

您可以先透過本機託管的網址查看及測試 Firebase 專案, 部署至實際工作環境如果只想測試特定功能 在 firebase serve 指令的旗標中以半形逗號分隔的清單。

如果您符合以下條件,請從本機專案的根目錄執行下列指令: 想要執行下列任一工作:

firebase serve --only hosting

使用 local HTTP 函式模擬專案

在專案目錄中執行下列指令,以模擬 local HTTP 函式的專案。

  • 如要模擬 HTTP 函式並代管本機網址以進行測試,請使用 下列指令:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • 如果只要模擬 HTTP 函式,請使用下列指令:

    firebase serve --only functions

透過其他本機裝置進行測試

根據預設,firebase serve 只會回應 localhost 的要求。這個 這表示您可以透過電腦網路存取代管的內容 而不是來自你網路的其他裝置如果希望 至於其他本機裝置,請使用 --host 標記,如下所示:

firebase serve --host 0.0.0.0  // accepts requests to any host

部署至 Firebase 專案

Firebase CLI 可管理將程式碼和資產部署至 Firebase 的作業 專案,其中包括:

  • 你的 Firebase Hosting 個網站最新版本
  • 新增、更新或現有的Cloud Functions for Firebase
  • Firebase Realtime Database」的規則
  • Cloud Storage for Firebase」的規則
  • Cloud Firestore」的規則
  • Cloud Firestore 的索引

如要部署至 Firebase 專案,請在專案中執行下列指令 目錄:

firebase deploy

您可以選擇在每個部署作業中新增註解。這則留言將 並與專案的其他部署作業資訊一併顯示 Firebase Hosting 頁面。例如:

firebase deploy -m "Deploying the best new feature ever."

使用 firebase deploy 指令時,請注意下列事項:

  • 如要從專案目錄部署資源,請前往專案目錄 「必須」含有 firebase.json 檔案。這個檔案 自動在 VM 中 firebase init 指令。

  • 根據預設,firebase deploy 會為「所有」可部署資源建立版本 。如要部署特定 Firebase 服務或功能, 使用部分部署

安全性規則的部署作業衝突

對於 Firebase Realtime DatabaseCloud Storage for FirebaseCloud Firestore, 您可以在本機專案目錄或 Firebase 控制台

避免部署衝突的另一個方法是 使用部分部署,且只在 Firebase 控制台。

部署配額

您可能會 (但不太可能) 超過配額上限 或是為 Firebase 部署作業的執行速率或資料量舉例來說 您可能會收到 HTTP 429 Quota 錯誤訊息。如要解決這類問題,請嘗試 使用部分部署

復原部署作業

您可以透過專案的Firebase Hosting Firebase Hosting 頁面 所需版本的「復原」動作。

目前無法復原以下項目的安全性規則版本: Firebase Realtime DatabaseCloud Storage for FirebaseCloud Firestore

部署特定 Firebase 服務

如果您只想部署特定 Firebase 服務或功能,可以使用 firebase deploy 指令的旗標中以半形逗號分隔的清單。例如: 下列指令會部署 Firebase Hosting 內容並 Cloud Storage 項安全性規則。

firebase deploy --only hosting,storage

下表列出可供部分使用的服務和功能 可能面臨擴充性、監控、持續整合 和部署等方面的挑戰旗標中的名稱會與 firebase.json 設定檔。

標記語法 部署的服務或功能
--only hosting Firebase Hosting內容
--only database Firebase Realtime Database 項規則
--only storage Cloud Storage for Firebase 項規則
--only firestore 針對所有已設定的資料庫建立 Cloud Firestore 個規則「和」索引
--only functions Cloud Functions for Firebase (可使用此標記的更具體版本)

部署特定函式

部署函式時,您可以指定特定函式。例如:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

另一種方法是將函式分組為 /functions/index.js 檔案。分組函式可讓您部署 使用單一指令

舉例來說,您可以編寫下列函式來定義 groupAgroupB:

var functions = require('firebase-functions/v1');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

在這個例子中,獨立的 functions/groupB.js 檔案包含額外的 專門定義 groupB 中函式的函式。例如:

var functions = require('firebase-functions/v1');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

在此範例中,您可以執行groupA 從專案目錄中執行下列指令:

firebase deploy --only functions:groupA

或者,如要指定群組內的特定函式,請執行下列指令: 指令:

firebase deploy --only functions:groupA.function1,groupB.function4

刪除函式

Firebase CLI 支援下列指令和 刪除先前部署的函式:

  • 刪除所有區域中符合指定名稱的所有函式:

    firebase functions:delete FUNCTION-1_NAME

  • 刪除在非預設區域中執行的指定函式:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • 刪除多個函式:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • 刪除指定的函式群組:

    firebase functions:delete GROUP_NAME

  • 略過確認提示:

    firebase functions:delete FUNCTION-1_NAME --force

設定預先部署和部署指令碼後的工作

您可以將殼層指令碼連結至 firebase deploy 指令來執行 預先部署或後續部署工作舉例來說,預先部署指令碼 將 TypeScript 程式碼轉譯為 JavaScript,部署後掛鉤 全新網站內容的管理員已部署至 Firebase Hosting

如要設定預先部署或後部署掛鉤,請將 bash 指令碼新增至 firebase.json 設定檔。您可以定義 直接加入 firebase.json 檔案中的簡短指令碼,或者,您也可以 存放在專案目錄中的檔案

舉例來說,以下指令碼是 firebase.json 運算式的 部署後,在成功部署後,會將 Slack 訊息傳送至 Firebase Hosting

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

messageSlack.sh 指令碼檔案位於專案目錄中,看起來 輸入:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

您可以為下列任一資源設定 predeploypostdeploy 掛鉤 您可以部署的資產請注意,執行 firebase deploy 會觸發所有 firebase.json 檔案。如何只執行與特定項目相關聯的工作 Firebase 服務,使用部分部署指令

predeploypostdeploy 掛鉤都會輸出標準輸出內容和錯誤 將指令碼串流傳送至終端機如果失敗情況發生,請注意下列事項:

  • 如果預先部署掛鉤無法順利完成,系統就會取消部署作業。
  • 如果部署作業基於任何原因失敗,則不會觸發後部署掛鉤。

環境變數

在預先部署和後部署掛鉤執行的指令碼中,將下列程式碼 可用的環境變數:

  • $GCLOUD_PROJECT:有效專案的 ID
  • $PROJECT_DIR:包含 firebase.json 檔案的根目錄
  • $RESOURCE_DIR(僅適用於 hostingfunctions 指令碼) 包含 HostingCloud Functions 項要部署的資源

管理多個「Realtime Database」執行個體

Firebase 專案的 多個 Firebase Realtime Database 執行個體。變更者: 預設的情況下,CLI 指令會與 default 資料庫執行個體互動。

不過,您可以使用 --instance DATABASE_NAME 標記。 下列指令支援 --instance 旗標:

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

指令參考資料

CLI 管理指令

指令 說明
說明 顯示 CLI 或特定指令的說明資訊。
初始化 在目前的目錄中建立關聯及設定新的 Firebase 專案。 這項指令會建立 firebase.json敬上 設定檔
login 將 CLI 驗證至 Firebase 帳戶。需要下列項目的存取權 網路瀏覽器。
在不允許存取權的遠端環境中登入 CLI localhost,請使用 --no-localhost 旗標。
login:ci 產生用於非互動式的驗證權杖 環境
登出 從 Firebase 帳戶中登出 CLI。
開啟 開啟瀏覽器並前往相關的專案資源。
專案:清單 列出您有權存取的所有 Firebase 專案。
用途 為 CLI 設定有效的 Firebase 專案。
管理專案別名

專案管理指令

指令 說明
管理 Firebase 專案
projects:addfirebase 將 Firebase 資源新增至現有的 Google Cloud 專案。
projects:create 建立新的 Google Cloud 專案,然後將 Firebase 資源新增至 新的專案
專案:清單 列出您有權存取的所有 Firebase 專案。
Firebase 應用程式管理 (iOS、Android、網頁)
apps:建立 在進行中的專案中建立新的 Firebase 應用程式。
apps:list 列出有效專案中已註冊的 Firebase 應用程式。
apps:sdkconfig 列印 Firebase 應用程式的 Google 服務設定。
setup:網站 已淘汰,請改用 apps:sdkconfig 和 將 web 指定為平台引數。
Prints Firebase 網頁應用程式的 Google 服務設定。
管理 SHA 憑證雜湊 (僅限 Android)
apps:android:sha:create \
FIREBASE_APP_ID SHA_HASH
將指定的 SHA 憑證雜湊新增至指定 Firebase Android 應用程式。
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
從指定的 SHA 憑證雜湊中刪除 Firebase Android 應用程式。
apps:android:sha:list \
FIREBASE_APP_ID
列出指定內容的 SHA 憑證雜湊 Firebase Android 應用程式。

部署和本機開發

這些指令可讓您部署 Firebase Hosting 網站並與之互動。

指令 說明
部署 將專案目錄中的程式碼和資產部署至有效狀態 專案。如果是 Firebase Hostingfirebase.json 必須提供設定檔
服務 使用 Firebase Hosting 設定啟動本機網路伺服器。 如果是 Firebase Hostingfirebase.json 必須提供設定檔

App Distribution 指令

指令 說明
應用程式發布:發行 \
--應用程式 FIREBASE_APP_ID
將版本提供給測試人員。
appdistribution:testers:add 將測試人員新增至專案。
appdistribution:testers:remove 將測試人員從專案中移除。

App Hosting 指令

指令 說明
apphosting:backends:create \
--專案 PROJECT_ID
--位置 REGION --app APP_ID
建立連結至單一程式碼集的代管資源集合 由一個 App Hosting 後端組成。視需要指定 Firebase 網頁應用程式的 Firebase 應用程式 ID。
apphosting:backends:get \ BACKEND_ID
--專案 PROJECT_ID
--位置 REGION
擷取後端的特定詳細資料,包括公開網址。
apphosting:backends:list \
--專案 PROJECT_ID
可擷取與專案相關聯的所有有效後端清單。
firebase apphosting:backends:delete \ BACKEND_ID
--專案 PROJECT_ID
--位置 REGION
從專案中刪除後端。
apphosting:secrets:set \
KEY --專案 PROJECT_ID
--位置 REGION --data-file Data file
將密鑰內容儲存在 Secret Manager 中。您可以視需要提供 讀取密鑰資料的檔案路徑。設為「_」才能朗讀 來自標準輸入內容的秘密資料
apphosting:secrets:grantaccess \
KEY --專案 PROJECT_ID BACKEND_ID
--位置 REGION
授予 後端 服務帳戶 存取提供的密鑰,確保金鑰由 建構或執行期間的 App Hosting
apphosting:secrets:describe \
KEY --專案 PROJECT_ID
取得密鑰及其版本的中繼資料。
firebase apphosting:secrets:access \
KEY[@version]
--專案 PROJECT_ID
存取指定密鑰及其版本的密鑰值。 預設為存取最新版本。

Authentication (使用者管理) 指令

指令 說明
「auth:export」 將現有專案的使用者帳戶匯出為 JSON 或 CSV 檔案。適用對象 詳情請參閱 auth:import 和 auth:export 頁面
auth:import 從 JSON 或 CSV 檔案將使用者帳戶匯入作用中 專案。詳情請參閱 auth:import 和 auth:export 頁面

Cloud Firestore 指令

指令 說明
firestore:locations

列出 Cloud Firestore 資料庫的可用位置。

firestore:databases:create DATABASE_ID

在 Firebase 專案中以原生模式建立資料庫執行個體。

指令使用以下標記:

  • --location <region name> 可指定 以及資料庫的部署作業位置請注意,您可以執行 firebasefistore:locations 以列出 或位置。必要
  • --delete-protection <deleteProtectionState> 以允許或避免刪除指定的資料庫。有效值 為 ENABLEDDISABLED。預設為 DISABLED
  • --point-in-time-recovery <PITRState> 可將 設定是否要啟用時間點復原。有效值為 ENABLEDDISABLED。預設為 DISABLED。選填。
firestore:databases:list

列出 Firebase 專案中的資料庫。

firestore:databases:get DATABASE_ID

取得資料庫中指定資料庫的設定 Firebase 專案。

firestore:databases:update DATABASE_ID

更新資料庫中指定資料庫的設定 Firebase 專案。

至少須提供一個旗標。指令使用以下標記:

  • --delete-protection <deleteProtectionState> 以允許或避免刪除指定的資料庫。有效值 為 ENABLEDDISABLED。預設為 DISABLED
  • --point-in-time-recovery <PITRState> 可將 設定是否要啟用時間點復原。有效值為 ENABLEDDISABLED。預設為 DISABLED。選填。
firestore:databases:delete DATABASE_ID

在 Firebase 專案中刪除資料庫。

Firestore:indexes

列出 Firebase 專案中資料庫的索引。

指令使用以下標記:

  • --database DATABASE_ID 至 指定要列出索引的資料庫名稱。如果不是 系統會列出預設資料庫的索引
firestore:delete

刪除進行中專案資料庫中的文件。使用 CLI 可以遞迴刪除集合中的所有文件

請注意,使用 CLI 刪除 Cloud Firestore 資料會產生讀取和 刪除費用若需更多資訊,請參閲 瞭解 Cloud Firestore 的計費方式

指令使用以下標記:

  • --database DATABASE_ID 指定刪除文件的來源資料庫名稱。如果 未指定,則會從預設資料庫刪除文件。 選用。

Cloud Functions for Firebase 指令

指令 說明
functions:config:clone 將其他專案的環境複製到目前使用中的 Firebase 專案。
functions:config:get 擷取現有專案的現有設定值 Cloud Functions
functions:config:set 這會儲存現有專案的執行階段設定值 Cloud Functions
functions:config:unset 從有效專案的執行階段設定中移除值。
functions:log 這個外掛程式能讀取已部署的 Cloud Functions 中的記錄檔。

詳情請參閱環境 設定說明文件

Crashlytics 指令

指令 說明
crashlytics:mappingfile:generateid \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML
在指定的 Android 資源中產生不重複的對應檔案 ID (XML) 檔案。
crashlytics:mappingfile:upload \
--app=FIREBASE_APP_ID \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
上傳與 Proguard 相容的對應 (TXT) 檔案。 然後與在指定的網頁中宣告的對應檔案 ID 建立關聯 Android 資源 (XML) 檔案。
crashlytics:symbols:upload \
--app=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
為原生資料庫產生與 Crashlytics 相容的符號檔案 導致系統當機並上傳至 Firebase 伺服器

Extensions 指令

指令 說明
額外資訊 顯示如何使用 Firebase Extensions 指令的資訊。
列出安裝中專案中安裝的擴充功能執行個體。
額外資訊:設定 \
EXTENSION_INSTANCE_ID
在您的 擴充功能資訊清單
ext:info \
PUBLISHER_ID/EXTENSION_ID
列印擴充功能的詳細資訊。
ext:install \
PUBLISHER_ID/EXTENSION_ID
將新的擴充功能執行個體新增至 擴充功能資訊清單
ext:list 列出 Firebase 專案中安裝的所有擴充功能執行個體。
顯示每個擴充功能的執行個體 ID。
ext:解除安裝 \
EXTENSION_INSTANCE_ID
擴充功能資訊清單
額外資訊:更新 \
EXTENSION_INSTANCE_ID
將擴充功能執行個體更新為 擴充功能資訊清單
ext:匯出 將專案中已安裝的所有擴充功能執行個體匯出至 擴充功能資訊清單

Extensions 個發布商指令

指令 說明
ext:dev:init 針對目前中的新擴充功能初始化基本架構程式碼集 目錄。
ext:dev:list \
PUBLISHER_ID
列印發布商上傳的所有擴充功能清單。
ext:dev:register 將 Firebase 專案註冊為 擴充功能發布商專案
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
已淘汰 符合版本述詞的擴充功能版本。
版本述詞可以是單一版本 (例如 1.0.0), 或是不同版本 (例如 >1.0.0)。
如未提供版本述詞, 淘汰該擴充功能的所有版本。
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
取消淘汰 符合版本述詞的擴充功能版本。
版本述詞可以是單一版本 (例如 1.0.0), 或是不同版本 (例如 >1.0.0)。
如未提供版本述詞, 即可取消淘汰該擴充功能的所有版本。
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
上傳新版擴充功能。
ext:dev:usage \
PUBLISHER_ID
顯示依照以下來源上傳的擴充功能安裝次數和使用指標: 發布商

Hosting 指令

指令 說明
hosting:disable

停止為使用中的 Firebase 提供 Firebase Hosting 流量 專案。

專案的 Hosting 網址會顯示「找不到網站」訊息 執行這項指令後

管理 Hosting 個網站
firebase Hosting:sites:create \
SITE_ID

使用以下程式碼,在有效的 Firebase 專案中建立新的 Hosting 網站: 指定SITE_ID

(選用) 指定要建立關聯的現有 Firebase 網頁應用程式 方法是傳送下列標記: --app FIREBASE_APP_ID敬上

firebase Hosting:sites:delete \
SITE_ID

刪除指定的 Hosting 網站

CLI 會在刪除網站前顯示確認提示。

(選用) 傳遞確認提示時 標記:-f--force

firebase Hosting:sites:get \
SITE_ID

擷取指定 Hosting 網站的相關資訊

firebase Hosting:sites:list

列出進行中 Firebase 專案的所有 Hosting 網站

管理預覽頻道
firebase Hosting:channel:create \
CHANNEL_ID

系統會在以下位置建立新的預覽管道: default Hosting 網站,使用指定的 CHANNEL_ID

這個指令不會部署至管道。

firebase Hosting:channel:delete \
CHANNEL_ID

刪除指定預覽管道

您無法刪除網站的直播頻道。

firebase Hosting:channel:deploy \
CHANNEL_ID

Hosting 內容和設定部署至指定 預覽頻道

如果預覽管道尚不存在,這個指令會建立 預設 Hosting 網站上的頻道 再部署至管道

Firebase 代管:channel:list 列出 預設 Hosting 網站
firebase Hosting:channel:open \
CHANNEL_ID
開啟瀏覽器前往指定頻道的網址,或傳回網址 如果無法在瀏覽器中開啟
版本複製
firebase 託管:clone \
SOURCE_SITE_IDSOURCE_CHANNEL_ID \
TARGET_SITE_IDTARGET_CHANNEL_ID

在指定「來源」上複製最近部署的版本 連結至指定「目標」頻道

這個指令也會部署至指定的「目標」頻道。如果 「target」這個指令會建立一個新的 指定「目標」尚未部署至 Hosting 個網站 頻道。

firebase 託管:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_IDTARGET_CHANNEL_ID

將指定版本複製到指定的「目標」頻道

這個指令也會部署至指定的「目標」頻道。如果 「target」這個指令會建立一個新的 指定「目標」尚未部署至 Hosting 個網站 頻道。

您可以在VERSION_ID Hosting」資訊主頁 Firebase 控制台。

Realtime Database 指令

請注意,您可以在Realtime Database Firebase主控台或使用一般firebase init firebase init database 流程。

建立執行個體後,您可以按照下列說明管理執行個體 管理多個 Realtime Database 執行個體

指令 說明
database:get 從進行中專案的資料庫擷取資料,並以 JSON 檔案。支援查詢已建立索引的資料。
database:instances:create 建立具有指定執行個體名稱的資料庫執行個體。接受 --location 選項,用於在指定 區域。如要瞭解此選項可使用的區域名稱,請參閱 為專案選取位置。 如果目前專案中沒有任何資料庫執行個體,系統會提示您 執行 firebase init 流程來建立執行個體。
database:instances:list 列出這項專案的所有資料庫執行個體。接受 --location 選項,用來列出指定 區域。若要瞭解此選項可使用的區域名稱,請參閱 為專案選取位置
database:profile 在進行中的專案資料庫上建構作業設定檔。適用對象 詳細資訊,請參閱 Realtime Database 作業類型
database:push 將新資料推送到作用中指定位置的清單 針對專案資料庫從檔案、STDIN 或指令列取得輸入內容 引數。
database:remove 這會刪除現有專案中特定位置的所有資料 資料庫
database:set 用於替換現有專案中特定位置的所有資料 資料庫取得檔案、STDIN 或指令列引數的輸入內容。
database:update 對啟用中的特定位置執行部分更新 針對專案資料庫從檔案、STDIN 或指令列取得輸入內容 引數。

Remote Config 指令

指令 說明
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
列出最近十個範本版本。請說明 0 傳回所有現有版本,或視需要傳回 傳遞 --limit 選項,以限制 不同的回應版本
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o,輸出內容 FILENAME
依版本取得範本 (預設為最新版本) 並輸出參數群組、參數和條件名稱 轉換為資料表您可以選擇將輸出內容寫入 透過 -o, FILENAME 指定檔案。
remoteconfig:rollback \
--v,version_number VERSION_NUMBER
--force
Remote Config 個範本復原至指定的先前版本 號碼,或預設為最前面的版本 (目前版本 -1)。除非已經傳遞 --force,否則提示「是/否」 才能繼續復原。