Firebase CLI (GitHub) 提供多種工具,可用於管理、查看及部署至 Firebase 專案。
使用 Firebase CLI 前,請設定 Firebase 專案。
設定或更新 CLI
安裝 Firebase CLI
您可以使用符合作業系統、經驗程度和/或用途的方法安裝 Firebase CLI。無論您如何安裝 CLI,都能使用相同的功能和 firebase
指令。
Windows
您可以使用下列任一選項安裝 Windows 版 Firebase CLI:
選項 | 說明 | 適合: |
---|---|---|
獨立二進位檔 | 下載 CLI 的獨立二進位檔。接著,您可以存取可執行檔,開啟可執行 firebase 指令的殼層。 |
新手開發人員 不使用或不熟悉 Node.js 的開發人員 |
npm | 使用 npm (Node Package Manager) 安裝 CLI,並啟用全球可用的 firebase 指令。 |
使用 Node.js 的開發人員 |
獨立二進位檔
如要下載並執行 Firebase CLI 的二進位檔,請按照下列步驟操作:
存取二進位檔案,開啟殼層,以便執行
firebase
指令。繼續登入並測試 CLI。
npm
如要使用 npm
(Node 套件管理工具) 安裝 Firebase CLI,請按照下列步驟操作:
使用 nvm-windows (Node 版本管理工具) 安裝 Node.js。安裝 Node.js 時,系統會自動安裝
npm
指令工具。執行下列指令,透過
npm
安裝 Firebase CLI:npm install -g firebase-tools
這項指令會啟用全球可用的
firebase
指令。繼續登入並測試 CLI。
macOS 或 Linux
您可以使用下列其中一個選項,安裝 macOS 或 Linux 版 Firebase CLI:
選項 | 說明 | 適合: |
---|---|---|
自動安裝指令碼 | 執行單一指令,自動偵測作業系統、下載最新的 CLI 版本,然後啟用全球適用的 firebase 指令。 |
新手開發人員 未使用或不熟悉 Node.js 的開發人員 在 CI/CD 環境中進行自動部署 |
獨立二進位檔 | 下載 CLI 的獨立二進位檔。接著,您可以根據工作流程設定及執行二進位檔。 | 使用 CLI 可完全自訂的工作流程 |
npm | 使用 npm (Node Package Manager) 安裝 CLI,並啟用全球可用的 firebase 指令。 |
使用 Node.js 的開發人員 |
自動安裝指令碼
如要使用自動安裝指令碼安裝 Firebase CLI,請按照下列步驟操作:
執行下列 cURL 指令:
curl -sL https://firebase.tools | bash
這個指令碼會自動偵測您的作業系統,下載最新的 Firebase CLI 版本,然後啟用全球適用的
firebase
指令。繼續登入並測試 CLI。
如需自動安裝指令碼的更多範例和詳細資訊,請參閱 firebase.tools 中的指令碼原始碼。
獨立二進位檔
如要下載並執行特定作業系統的 Firebase CLI 二進位檔,請按照下列步驟操作:
(選用) 設定全球適用的
firebase
指令。- 執行
chmod +x ./firebase_tools
將二進位檔設為可執行檔。 - 將二進位檔的路徑加入 PATH。
- 執行
繼續登入並測試 CLI。
npm
如要使用 npm
(Node 套件管理工具) 安裝 Firebase CLI,請按照下列步驟操作:
登入並測試 Firebase CLI
安裝 CLI 後,您必須進行驗證。接著,您可以列出 Firebase 專案,確認驗證狀態。
執行下列指令,使用 Google 帳戶登入 Firebase:
firebase login
此指令可將您的本機連線至 Firebase,並授予您 Firebase 專案的存取權。
請列出 Firebase 專案,測試 CLI 是否已正確安裝並存取您的帳戶。執行下列指令:
firebase projects:list
顯示的清單應與 Firebase 主控台中列出的 Firebase 專案相同。
更新至最新的 CLI 版本
一般來說,您應該使用最新的 Firebase CLI 版本。
更新 CLI 版本的方式取決於您的作業系統和安裝 CLI 的方式。
Windows
- 獨立二進位檔:下載新版本,然後在系統上取代
- npm:執行
npm install -g firebase-tools
macOS
- 自動安裝指令碼:執行
curl -sL https://firebase.tools | upgrade=true bash
- 獨立二進位檔:下載新版本,然後在系統上取代
- npm:執行
npm install -g firebase-tools
Linux
- 自動安裝指令碼:執行
curl -sL https://firebase.tools | upgrade=true bash
- 獨立二進位檔:下載新版本,然後在系統上取代
- npm:執行
npm install -g firebase-tools
將 CLI 與 CI 系統搭配使用
Firebase CLI 需要瀏覽器才能完成驗證,但 CLI 與 CI 和其他無頭環境完全相容。
在裝有瀏覽器的電腦上,安裝 Firebase CLI。
執行下列指令即可開始登入程序:
firebase login:ci
前往提供的網址,然後使用 Google 帳戶登入。
列印新的更新權杖。目前的 CLI 工作階段不會受到影響。
在 CI 系統中以安全且可存取的方式儲存輸出憑證。
執行
firebase
指令時,請使用這個符記。您可以使用下列任一選項:選項 1:將權杖儲存為環境變數
FIREBASE_TOKEN
。系統會自動使用權杖。選項 2:在 CI 系統中搭配
--token TOKEN
旗標執行所有firebase
指令。
符記載入的優先順序如下:標記、環境變數、所需 Firebase 專案。
初始化 Firebase 專案
使用 CLI 執行的許多常見工作 (例如部署至 Firebase 專案) 都需要專案目錄。您可以使用 firebase init
指令建立專案目錄。專案目錄通常與來源控管根目錄相同,執行 firebase init
後,目錄會包含 firebase.json
設定檔。
如要初始化新的 Firebase 專案,請在應用程式目錄中執行下列指令:
firebase init
firebase init
指令會逐步引導您設定專案目錄和部分 Firebase 產品。在專案初始化期間,Firebase CLI 會要求您完成下列工作:
選取要設定在 Firebase 專案中的 Firebase 產品。
這個步驟會提示您為所選產品的特定檔案設定設定。如要進一步瞭解這些設定,請參閱特定產品的說明文件 (例如 Hosting)。請注意,您隨時可以執行
firebase init
來設定更多 Firebase 產品。選取預設 Firebase 專案。
這個步驟會將目前的專案目錄與 Firebase 專案建立關聯,以便針對適當的 Firebase 專案執行專案專屬指令 (例如
firebase deploy
)。您也可以將多個 Firebase 專案 (例如測試專案和正式專案) 與同一個專案目錄建立關聯。
在初始化結束時,Firebase 會自動在本機應用程式目錄的根目錄中建立下列兩個檔案:
列出專案設定的
firebase.json
設定檔。用於儲存專案別名的
.firebaserc
檔案。
firebase.json
檔案
firebase init
指令會在專案目錄的根目錄中建立 firebase.json
設定檔。
firebase.json
檔案是使用 Firebase CLI 部署素材資源的必要條件,因為檔案會指定要將專案目錄中的哪些檔案和設定部署至 Firebase 專案。由於部分設定可在專案目錄或 Firebase 控制台中定義,請務必解決任何可能的部署衝突。
您可以直接在 firebase.json
檔案中設定大部分 Firebase Hosting 選項。不過,對於其他可透過 Firebase CLI 部署的 Firebase 服務,firebase init
指令會建立特定檔案,讓您為這些服務定義設定,例如 Cloud Functions 的 index.js
檔案。您也可以在 firebase.json
檔案中設定預部署或後部署鉤子。
如果您在初始化期間選取 Firebase Hosting、Cloud Firestore 和 Cloud Functions for Firebase (選取 TypeScript 來源和 Lint 選項),以下是含有預設設定的範例 firebase.json
檔案。
{
"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 use
指令可讓您切換別名,以及建立新的別名。
新增專案別名
在專案初始化期間選取 Firebase 專案時,系統會自動為專案指派 default
別名。不過,如要讓專案專屬指令針對不同的 Firebase 專案執行,但仍使用相同的專案目錄,請在專案目錄中執行下列指令:
firebase use --add
這個指令會提示您選取其他 Firebase 專案,並將該專案指派為別名。別名指派會寫入專案目錄中的 .firebaserc
檔案。
使用專案別名
如要使用指派的 Firebase 專案別名,請在專案目錄中執行下列任一指令。
指令 | 說明 |
---|---|
firebase use |
查看專案目錄目前定義的別名清單 |
firebase use \ |
指示所有指令針對指定的 Firebase 專案執行。 CLI 會將這個專案當做目前的「有效專案」。 |
firebase use --clear |
清除有效專案。 請先執行 |
firebase use \ |
從專案目錄中移除別名。 |
您可以透過傳遞 --project
標記和任何 CLI 指令,覆寫目前用於使用中的專案。舉例來說,您可以將 CLI 設為針對已指派 staging
別名的 Firebase 專案執行。如果您想針對已指派 prod
別名的 Firebase 專案執行單一指令,可以執行
等指令。
原始碼控管和專案別名
一般來說,您應該將 .firebaserc
檔案納入來源控制,讓團隊成員分享專案別名。不過,對於開放原始碼專案或入門範本,您通常不應檢查 .firebaserc
檔案。
如果您有專供自己使用的開發專案,可以為每個指令傳遞 --project
標記,或是執行 firebase use PROJECT_ID
,但不為 Firebase 專案指派別名。
在本機上提供及測試 Firebase 專案
您可以在將 Firebase 專案部署至實際環境前,先在本機代管的網址上查看及測試專案。如果您只想測試特定功能,可以在 firebase serve
指令的旗標中使用以逗號分隔的清單。
如要執行下列任一項作業,請在本機專案目錄的根目錄中執行下列指令:
- 查看 Firebase 代管應用程式的靜態內容。
- 使用 Cloud Functions 為 Firebase Hosting 產生動態內容,並且您想使用正式版 (已部署) HTTP 函式,在本機網址上模擬 Hosting。
firebase serve --only hosting
使用本機 HTTP 函式模擬專案
在專案目錄中執行下列任一指令,即可使用本機 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 Data Connect 的新結構定義和更新版結構定義
- 「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
檔案。firebase init
指令會自動為您建立這個檔案。根據預設,
firebase deploy
會為專案目錄中的所有可部署資源建立版本。如要部署特定 Firebase 服務或功能,請使用部分部署功能。
安全性規則的部署衝突
針對 Firebase Realtime Database、Cloud Storage for Firebase 和 Cloud Firestore,您可以在本機專案目錄或 Firebase 主控台中定義安全性規則。
另一種避免部署衝突的方法是使用部分部署,並只在 Firebase 控制台中定義規則。
部署配額
您可能會 (但不太可能) 超過限制 Firebase 部署作業速率或數量的配額。舉例來說,在部署大量函式時,您可能會收到 HTTP 429 Quota
錯誤訊息。如要解決這類問題,請嘗試使用部分部署。
復原部署項目
您可以選取所需版本的「Rollback」動作,從專案的 Firebase Hosting 頁面復原 Firebase Hosting 部署作業。
目前無法回溯 Firebase Realtime Database、Cloud Storage for Firebase 或 Cloud 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 dataconnect |
Firebase Data Connect 結構定義和連接器 |
--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
檔案中,將函式分組為匯出群組。將函式分組後,您就能使用單一指令部署多個函式。
舉例來說,您可以編寫下列函式來定義 groupA
和 groupB
:
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
設定前置部署和後置部署指令碼工作
您可以將 Shell 指令碼連結至 firebase deploy
指令,執行預部署或後部署工作。舉例來說,預先部署指令碼可將 TypeScript 程式碼轉譯為 JavaScript,而後續部署鉤子可通知管理員新網站內容已部署至 Firebase Hosting。
如要設定部署前或部署後掛鉤,請將 bash 指令碼新增至 firebase.json
設定檔。您可以直接在 firebase.json
檔案中定義簡短指令碼,也可以參照專案目錄中的其他檔案。
舉例來說,下列指令碼是 postdeploy 工作專用的 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
您可以為任何可部署的資產設定 predeploy
和 postdeploy
鉤子。請注意,執行 firebase deploy
會觸發 firebase.json
檔案中定義的所有預先部署和後期部署工作。如要只執行與特定 Firebase 服務相關聯的工作,請使用部分部署指令。
predeploy
和 postdeploy
鉤子會將指令碼的標準輸出內容和錯誤串流輸出至終端機。針對失敗案例,請注意下列事項:
- 如果預先部署掛鉤無法如預期完成,系統會取消部署作業。
- 如果部署作業因任何原因失敗,系統就不會觸發部署後掛鉤。
環境變數
在預先部署和後期部署掛鉤中執行的指令碼中,可使用下列環境變數:
$GCLOUD_PROJECT
:有效專案的專案 ID$PROJECT_DIR
:包含firebase.json
檔案的根目錄$RESOURCE_DIR
:(僅適用於hosting
和functions
指令碼) 包含要部署的 Hosting 或 Cloud Functions 資源的目錄位置
管理多個 Realtime Database 例項
一個 Firebase 專案可以有多個 Firebase Realtime Database 例項。根據預設,CLI 指令會與預設資料庫例項互動。
不過,您可以使用 --instance DATABASE_NAME
--instance
旗標:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
指令參考資料
CLI 管理指令
指令 | 說明 |
---|---|
說明 | 顯示 CLI 或特定指令的說明資訊。 |
init | 在目前目錄中建立新的 Firebase 專案並進行關聯。這個指令會在目前目錄中建立 firebase.json 設定檔。 |
login | 向 Firebase 帳戶驗證 CLI。必須使用網路瀏覽器。 如要在不允許存取 localhost 的遠端環境中登入 CLI,請使用 --no-localhost |
login:ci | 產生驗證權杖,供非互動環境使用。 |
logout | 從 Firebase 帳戶登出 CLI。 |
open | 開啟瀏覽器,前往相關專案資源。 |
projects:list | 列出您可以存取的所有 Firebase 專案。 |
use | 為 CLI 設定有效的 Firebase 專案。 管理專案別名。 |
專案管理指令
指令 | 說明 | |
---|---|---|
管理 Firebase 專案 | ||
projects:addfirebase | 將 Firebase 資源新增至現有的 Google Cloud 專案。 | |
projects:create | 建立新的 Google Cloud 專案,然後將 Firebase 資源新增至新專案。 | |
projects:list | 列出您可以存取的所有 Firebase 專案。 | |
管理 Firebase 應用程式 (iOS、Android、網頁) | ||
apps:create | 在有效專案中建立新的 Firebase 應用程式。 | |
apps:list | 列出有效專案中註冊的 Firebase 應用程式。 | |
apps:sdkconfig | 列印 Firebase 應用程式的 Google 服務設定。 | |
setup:web | 已淘汰,請改用 apps:sdkconfig ,並指定 web 做為平台引數。會列印 Firebase Web 應用程式的 Google 服務設定。 |
|
管理 SHA 憑證雜湊 (僅限 Android) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
將指定的 SHA 憑證雜湊新增至指定的 Firebase Android 應用程式。 | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
從指定的 Firebase Android 應用程式中刪除指定的 SHA 憑證雜湊。 | |
apps:android:sha:list \ FIREBASE_APP_ID |
列出指定 Firebase Android 應用程式的 SHA 憑證雜湊。 |
部署和本機開發
這些指令可讓您部署 Firebase Hosting 網站並與其互動。
指令 | 說明 |
---|---|
部署 | 將專案目錄中的程式碼和素材資源部署至有效專案。Firebase Hosting 需要 firebase.json 設定檔。 |
serve | 使用 Firebase Hosting 設定啟動本機網路伺服器。Firebase Hosting 需要 firebase.json 設定檔。 |
App Distribution 指令
指令 | 說明 |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
將版本提供給測試人員。 |
appdistribution:testers:add | 將測試人員新增至專案。 |
appdistribution:testers:remove | 從專案中移除測試人員。 |
App Hosting 指令
指令 | 說明 |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
建立與單一程式碼集相關聯的管理資源集合,該集合包含 App Hosting 後端。您可以選擇使用 Firebase 應用程式 ID 指定現有的 Firebase 網頁應用程式。 |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
擷取後端的特定詳細資料,包括公開網址。 |
apphosting:backends:list \ --project PROJECT_ID |
擷取與專案相關聯的所有有效後端清單。 |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
從專案中刪除後端。 |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
匯出密鑰,以便在應用程式模擬中使用。 預設為儲存在 apphosting.yaml 中的密鑰,或使用 --secrets 指定具有對應 apphosting.ENVIRONMENT_NAME.yaml 檔案的任何環境。 |
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
建立手動觸發的推出作業。 您可以選擇指定分支或特定修訂版本的最新修訂版本。如果沒有提供任何選項,系統會提示從分支清單中選取。 |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
將機密資料儲存在 Secret Manager 中。 您可以選擇提供檔案路徑,用於讀取機密資料。將其設為 _ ,即可從標準輸入內容讀取機密資料。 |
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
授予後端服務帳戶存取所提供密鑰的權限,以便 App Hosting 在建構或執行期間存取該密鑰。 |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
取得密鑰及其版本的中繼資料。 |
firebase apphosting:secrets:access \ KEY[@version] \ --project 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 專案中以原生模式建立資料庫執行個體。 這項指令可使用下列標記:
|
firestore:databases:list |
列出 Firebase 專案中的資料庫。 |
firestore:databases:get DATABASE_ID |
取得 Firebase 專案中指定資料庫的資料庫設定。 |
firestore:databases:update DATABASE_ID |
更新 Firebase 專案中指定資料庫的資料庫設定。 至少須設定一個標記。這項指令可使用下列標記:
|
firestore:databases:delete DATABASE_ID |
刪除 Firebase 專案中的資料庫。 |
firestore:indexes |
列出 Firebase 專案中資料庫的索引。 這項指令可使用下列標記:
|
firestore:delete |
刪除使用中專案資料庫中的文件。您可以使用 CLI 遞迴刪除集合中的所有文件。 請注意,使用 CLI 刪除 Cloud Firestore 資料會產生讀取和刪除費用。詳情請參閱「瞭解 Cloud Firestore 的帳單」一文。 這項指令可使用下列標記:
|
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 資源 (XML) 檔案中產生不重複的對應檔案 ID。 |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
為這個應用程式上傳 Proguard 相容的對應 (TXT) 檔案,並將其與指定 Android 資源 (XML) 檔案中宣告的對應檔案 ID 建立關聯。 |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
針對 Android 上的原生程式庫當機情形,產生與 Crashlytics 相容的符號檔案,並上傳至 Firebase 伺服器。 |
Data Connect 指令
如要進一步瞭解這些指令及其用途,請參閱 Data Connect CLI 參考指南。
指令 | 說明 |
---|---|
dataconnect:services:list | 列出 Firebase 專案中所有已部署的 Data Connect 服務。 |
dataconnect:sql:diff \ SERVICE_ID |
針對指定的服務,顯示本機 Data Connect 結構定義與 Cloud SQL 資料庫結構定義之間的差異。 |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
將 Cloud SQL 資料庫的結構定義遷移至與本機 Data Connect 結構定義相符的狀態。 |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
將 SQL 角色授予指定的使用者或服務帳戶電子郵件地址。 對於 --role 旗標,授予的 SQL 角色為下列其中之一:owner 、writer 或 reader 。針對 --email 標記,請提供要授予角色的使用者或服務帳戶電子郵件地址。 |
dataconnect:sdk:generate | 為 Data Connect 連接器產生類型 SDK。 |
Extensions 指令
指令 | 說明 |
---|---|
ext | 顯示如何使用 Firebase Extensions 指令的相關資訊。 列出在有效專案中安裝的擴充功能例項。 |
ext:configure \ EXTENSION_INSTANCE_ID |
重新設定擴充功能資訊清單中的擴充功能例項參數值。 |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
列印擴充功能的詳細資訊。 |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
將擴充功能的新例項新增至擴充功能資訊清單。 |
ext:list | 列出 Firebase 專案中安裝的所有擴充功能例項。 列印每個擴充功能的執行個體 ID。 |
ext:uninstall \ EXTENSION_INSTANCE_ID |
從擴充功能資訊清單中移除擴充功能例項。 |
ext:update \ EXTENSION_INSTANCE_ID |
將擴充功能例項更新至擴充功能資訊清單中的最新版本。 |
ext:export | 將專案中所有已安裝的擴充功能例項匯出至擴充功能資訊清單。 |
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 Web 應用程式,方法是傳遞下列標記: |
firebase hosting:sites:delete \ SITE_ID |
刪除指定的 Hosting 網站 CLI 會在刪除網站前顯示確認提示。 (選用) 傳遞下列旗標,即可略過確認提示: |
firebase hosting:sites:get \ SITE_ID |
擷取指定 Hosting 網站的相關資訊 |
firebase hosting:sites:list |
列出有效 Firebase 專案的所有 Hosting 網站 |
管理預覽管道 | |
firebase hosting:channel:create \ CHANNEL_ID |
使用指定的 這個指令不會部署至頻道。 |
firebase hosting:channel:delete \ CHANNEL_ID |
刪除指定的預覽管道 你無法刪除網站的直播頻道。 |
firebase hosting:channel:deploy \ CHANNEL_ID |
將 Hosting 內容和設定部署至指定的預覽頻道 如果預覽管道尚未建立,這個指令會先在預設 Hosting 網站中建立管道,再部署至管道。 |
firebase hosting:channel:list | 列出預設 Hosting 網站中的所有頻道 (包括「live」頻道) |
firebase hosting:channel:open \ CHANNEL_ID |
開啟瀏覽器並前往指定頻道的網址,或在無法透過瀏覽器開啟的情況下傳回網址 |
版本複製 | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
將指定「來源」管道中最近部署的版本複製到指定的「目標」管道 這個指令也會部署至指定的「目標」管道。如果「目標」頻道尚未建立,這項指令會在「目標」Hosting 網站中建立新的預覽頻道,然後再部署至該頻道。 |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
將指定版本複製到指定的「目標」管道 這個指令也會部署至指定的「目標」管道。如果「目標」頻道尚未建立,這項指令會在「目標」Hosting 網站中建立新的預覽頻道,然後再部署至該頻道。 您可以在 Firebase 控制台的 Hosting 資訊主頁中找到 |
Realtime Database 指令
請注意,您可以在 Firebase 主控台中建立初始的預設 Realtime Database 執行個體,也可以使用一般 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, output FILENAME |
依版本號碼取得範本 (預設為最新版本),並將參數群組、參數、條件名稱和版本輸出至表格。您可以選擇使用 -o, FILENAME 將輸出內容寫入指定檔案。 |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
將 Remote Config 範本復原至指定的先前版本號碼,或預設為最近一個版本 (目前版本 -1)。除非傳遞 --force ,否則會在繼續回滾前提示 Y/N。 |