Firebase CLI (GitHub) 提供各種工具,可用來管理、查看及部署 Firebase 專案。
使用 Firebase CLI 前,請先設定 Firebase 專案。
設定或更新 CLI
安裝 Firebase CLI
您可以使用符合作業系統、經驗等級和/或用途的方法安裝 Firebase CLI。無論您以何種方式安裝 CLI,都可以存取相同的功能和 firebase
指令。
Windows
您可以使用下列其中一個選項安裝 Windows 版 Firebase CLI:
選項 | Description | 推薦對象... |
---|---|---|
獨立二進位檔 | 下載 CLI 的獨立二進位檔。接著,您可以存取執行檔來開啟殼層,並在其中執行 firebase 指令。 |
新開發人員 沒有使用或不熟悉 Node.js 的開發人員 |
npm | 使用 npm (Node Package Manager) 安裝 CLI,並啟用全域可用的 firebase 指令。
|
使用 Node.js 的開發人員 |
獨立二進位檔
如要下載並執行 Firebase CLI 的二進位檔,請按照下列步驟操作:
存取二進位檔,開啟可以執行
firebase
指令的殼層。繼續登入並測試 CLI。
npm
如要使用 npm
(Node Package Manager) 安裝 Firebase CLI,請按照下列步驟操作:
使用 nvm-windows (Node Version Manager) 安裝 Node.js。安裝 Node.js 會自動安裝
npm
指令列工具。執行下列指令,透過
npm
安裝 Firebase CLI:npm install -g firebase-tools
這個指令會啟用全球可用的
firebase
指令。繼續登入並測試 CLI。
macOS 或 Linux
您可以使用下列其中一個選項,安裝 macOS 或 Linux 適用的 Firebase CLI:
選項 | Description | 推薦對象... |
---|---|---|
自動安裝指令碼 | 執行能自動偵測作業系統的單一指令,下載最新 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 中指令碼的原始碼。
獨立二進位檔
如要下載並執行 OS 專用 Firebase CLI 的二進位檔,請按照下列步驟操作:
(選用) 設定全球可用的
firebase
指令。- 執行
chmod +x ./firebase_tools
,將二進位檔設為可執行狀態。 - 將二進位檔的路徑新增至 PATH。
- 執行
繼續登入並測試 CLI。
npm
如要使用 npm
(Node Package Manager) 安裝 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 與持續整合系統搭配使用
Firebase CLI 需要瀏覽器才能完成驗證,但 CLI 與 CI 和其他無頭環境完全相容。
在含有瀏覽器的機器中安裝 Firebase CLI。
執行下列指令,開始登入程序:
firebase login:ci
前往提供的網址,然後使用 Google 帳戶登入。
列印新的更新權杖。目前的 CLI 工作階段不會受到影響。
以安全但可存取的方式將輸出權杖儲存在持續整合系統中。
執行
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 產品。
這個步驟會提示您為所選產品的特定檔案設定設定。如要進一步瞭解這些設定,請參閱特定產品的說明文件 (例如託管)。請注意,您日後隨時可以執行
firebase init
來設定更多 Firebase 產品。選取預設的 Firebase 專案。
這個步驟會將目前的專案目錄與 Firebase 專案建立關聯,讓系統針對適當的 Firebase 專案執行專案特定指令 (例如
firebase deploy
)。此外,您也可以將多個 Firebase 專案 (例如測試環境專案和實際工作環境專案) 與相同的專案目錄建立關聯。
在初始化結束時,Firebase 會自動在本機應用程式目錄的根目錄建立下列兩個檔案:
列出專案設定的
firebase.json
設定檔。.firebaserc
檔案,用於儲存專案別名。
firebase.json
檔案
firebase init
指令會在專案根目錄中建立 firebase.json
設定檔。
firebase.json
必須指定 firebase.json
檔案,才能使用 Firebase CLI 部署資產,因為該檔案會指定將專案目錄中的哪些檔案和設定部署至 Firebase 專案。由於某些設定可以在專案目錄或 Firebase 控制台中定義,因此請務必解決所有可能的部署衝突。
您可以直接在 firebase.json
檔案中設定大部分的 Firebase 託管選項。不過,對於其他可透過 Firebase CLI 部署的 Firebase 服務,firebase init
指令會建立特定檔案,方便您定義這些服務的設定 (例如 Cloud Functions 的 index.js
檔案)。您也可以在 firebase.json
檔案中設定預先部署或後部署掛鉤。
如果您在初始化期間選取「Firebase 託管」、「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 安全性規則和資料庫索引來源檔案與各個資料庫建立關聯。使用 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 \ |
從專案目錄中移除別名。 |
您可以透過任何 CLI 指令傳遞 --project
旗標,覆寫目前用作目前進行中的專案。舉例來說,您可以將 CLI 設定為針對已指派 staging
別名的 Firebase 專案執行。如要針對已指派 prod
別名的 Firebase 專案執行單一指令,您可以執行
這類指令。
來源控制和專案別名
一般而言,應將 .firebaserc
檔案檢查至原始碼控管中,以便讓您的團隊共用專案別名。不過,如果是開放原始碼專案或入門範本,通常不應檢查 .firebaserc
檔案。
如果您有僅供使用的開發專案,則可以透過每個指令傳遞 --project
旗標,或是在不為 Firebase 專案指派別名的情況下執行 firebase use PROJECT_ID
。
在本機提供及測試 Firebase 專案
在部署至實際工作環境之前,您可以先使用本機託管的網址查看及測試 Firebase 專案。如果只想測試特定功能,可以在 firebase serve
指令的標記中使用以半形逗號分隔的清單。
如要執行下列任一工作,請在本機專案目錄的根目錄中執行下列指令:
- 查看 Firebase 託管應用程式的靜態內容。
- 使用 Cloud Functions 產生 Firebase 託管的動態內容,並想要使用「實際工作環境 (已部署)」HTTP 函式,以本機網址模擬託管。
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 託管網站的全新版本
- 全新、更新或現有的 Cloud Functions for Firebase
- Firebase 即時資料庫的規則
- Cloud Storage for Firebase 規則
- Cloud Firestore 規則
- Cloud Firestore 的索引
如要部署至 Firebase 專案,請從專案目錄執行下列指令:
firebase deploy
您可以選擇為每個部署作業新增註解。此留言將與其他部署作業資訊一同顯示在專案的 Firebase 託管頁面上。例如:
firebase deploy -m "Deploying the best new feature ever."
使用 firebase deploy
指令時,請注意下列事項:
如要從專案目錄中部署資源,專案目錄「必須」具有
firebase.json
檔案。firebase init
指令會自動為您建立這個檔案。根據預設,
firebase deploy
會為專案目錄中的所有可部署資源建立版本。如要部署特定 Firebase 服務或功能,請使用部分部署。
安全性規則的部署衝突
針對 Firebase 即時資料庫、Cloud Storage for Firebase 和 Cloud Firestore,您可以在本機專案目錄或 Firebase 主控台中定義安全性規則。
如要避免部署衝突,另一個方法是使用部分部署,且只在 Firebase 控制台中定義規則。
部署作業配額
您可能會 (雖然不太可能) 超過 Firebase 部署作業的頻率或數量的配額。例如,您在部署大量函式時,可能會收到 HTTP 429 Quota
錯誤訊息。如要解決這類問題,請嘗試使用部分部署。
復原部署作業
從專案的 Firebase 託管頁面復原 Firebase 託管部署作業,方法是為所需版本選取「Rollback」動作。
目前無法復原 Firebase 即時資料庫、Cloud Storage for Firebase 或 Cloud Firestore 的安全性規則版本。
部署特定 Firebase 服務
如果只想部署特定 Firebase 服務或功能,可以在 firebase deploy
指令的標記中使用以半形逗號分隔的清單。舉例來說,下列指令會部署 Firebase 託管內容和 Cloud Storage 安全性規則。
firebase deploy --only hosting,storage
下表列出部分部署可以使用的服務和功能。旗標中的名稱與您 firebase.json
設定檔中的金鑰相對應。
標記語法 | 部署的服務或功能 |
---|---|
--only hosting |
Firebase 託管內容 |
--only database |
Firebase 即時資料庫規則 |
--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');
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');
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 託管。
如要設定預先部署或部署後掛鉤,請將 bash 指令碼新增至 firebase.json
設定檔。您可以直接在 firebase.json
檔案中定義簡短指令碼,也可以參照專案目錄中的其他檔案。
舉例來說,下列指令碼是部署後工作的 firebase.json
運算式,會在成功部署至 Firebase 託管時傳送 Slack 訊息。
"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
指令碼)包含要部署「託管」或「Cloud Functions」資源的目錄位置
管理多個即時資料庫執行個體
Firebase 專案可擁有多個 Firebase 即時資料庫執行個體。根據預設,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 或特定指令的說明資訊。 |
init | 在目前的目錄中建立關聯並設定新的 Firebase 專案。這個指令會在目前的目錄中建立 firebase.json 設定檔。 |
login | 將 CLI 驗證您的 Firebase 帳戶。需要網路瀏覽器存取權。 如要在不允許存取 localhost 的遠端環境中登入 CLI,請使用 --no-localhost |
login:ci | 產生用於非互動式環境中的驗證權杖。 |
登出 | 從 Firebase 帳戶中登出 CLI。 |
開啟 | 開啟瀏覽器以查看相關專案資源。 |
projects:list | 列出您有權存取的所有 Firebase 專案。 |
用途 | 設定 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 網頁應用程式的 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 託管網站互動。
指令 | 說明 |
---|---|
部署 | 將專案目錄中的程式碼和資產部署至進行中的專案。如為 Firebase 託管,必須提供 firebase.json 設定檔。 |
放送 | 使用 Firebase 託管設定啟動本機網路伺服器。如為 Firebase 託管,必須提供 firebase.json 設定檔。 |
應用程式發布指令
指令 | 說明 |
---|---|
應用程式發布:發行 \ --應用程式 FIREBASE_APP_ID |
將版本提供給測試人員。 |
appdistribution:testers:add | 將測試人員新增至專案。 |
appdistribution:testers:remove | 從專案中移除測試人員。 |
應用程式託管指令
指令 | 說明 |
---|---|
apphosting:Backend:create \ --project PROJECT_ID --location REGION --app APP_ID |
建立一組代管資源,並連結至單一程式碼集,組成應用程式代管後端。您可以選擇透過 Firebase 應用程式 ID 指定現有的 Firebase 網頁應用程式。 |
apphosting:Backend:get \
BACKEND_ID --project PROJECT_ID --location REGION |
擷取特定詳細資料,包括後端的公開網址。 |
apphosting:Backend:list \ --project PROJECT_ID |
擷取與專案相關聯的所有有效後端清單。 |
firebase apphosting:Backend:delete \
BACKEND_ID --project PROJECT_ID --location REGION |
從專案中刪除後端。 |
apphosting:secrets:set \ KEY --project PROJECT_ID --location REGION --data-file Data file |
將密鑰儲存在 Secret Manager 中。如有需要,請提供可讀取密鑰資料的檔案路徑。設為 _ 即可從標準輸入內容讀取密鑰資料。 |
apphosting:secrets:grantaccess \ KEY --project PROJECT_ID BACKEND_ID --location REGION |
將所提供密鑰的存取權授予後端服務帳戶,讓應用程式託管在建構或執行階段時存取該密鑰。 |
apphosting:secrets:describe \ KEY --project PROJECT_ID |
取得密鑰及其版本的中繼資料。 |
firebase apphosting:secrets:access \ KEY[@version] --project PROJECT_ID |
存取提供密鑰及其版本的密鑰值。預設為存取最新版本。 |
驗證 (使用者管理) 指令
指令 | 說明 |
---|---|
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 |
產生與 Crashlytics 相容的符號檔案,用於在 Android 裝置上當機,並上傳至 Firebase 伺服器。 |
擴充功能指令
指令 | 說明 |
---|---|
分機 | 顯示如何使用 Firebase Extensions 指令的資訊。 列出使用中專案中安裝的擴充功能執行個體。 |
ext:設定 \ EXTENSION_INSTANCE_ID |
在擴充功能資訊清單中,重新設定擴充功能執行個體的參數值。 |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
列印擴充功能的詳細資訊。 |
ext:安裝 \ PUBLISHER_ID/EXTENSION_ID |
將新的擴充功能執行個體新增至擴充功能資訊清單。 |
ext:list | 列出 Firebase 專案中安裝的所有擴充功能執行個體。 列印每個擴充功能的執行個體 ID。 |
ext:解除安裝 \ EXTENSION_INSTANCE_ID |
從擴充功能資訊清單中移除擴充功能執行個體。 |
ext:更新 \ EXTENSION_INSTANCE_ID |
將擴充功能資訊清單中的擴充功能執行個體更新為最新版本。 |
ext:export | 將專案中所有已安裝的擴充功能執行個體匯出至擴充功能資訊清單。 |
擴充功能發布者指令
指令 | 說明 |
---|---|
ext:dev:init | 為目前目錄中的新擴充功能初始化架構程式碼集。 |
ext:dev:list \ PUBLISHER_ID |
列印發布者上傳的所有擴充功能清單。 |
ext:dev:register | 將 Firebase 專案註冊為擴充功能發布者專案。 |
ext:dev:淘汰 \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
淘汰與版本述詞相符的擴充功能版本。 版本述詞可以是單一版本 (例如 1.0.0 ) 或某個版本的範圍 (例如 >1.0.0 )。如未提供版本述詞,則系統會淘汰該擴充功能的所有版本。 |
ext:dev:unDeprecated \ 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:disable |
停止為執行中的 Firebase 專案提供 Firebase 託管流量。 執行這個指令後,您的專案的「託管」網址會顯示「找不到網站」訊息。 |
代管網站 | |
firebasehost:sites:create \ SITE_ID |
使用指定的 (選用) 傳送下列標記,指定要與新網站建立關聯的現有 Firebase 網頁應用程式:
|
firebasefirebase:sites:delete \ SITE_ID |
刪除指定的託管網站 CLI 會在刪除網站前顯示確認提示。 (選用) 傳遞下列標記,以略過確認提示: |
firebasehost:sites:get \ SITE_ID |
擷取指定代管網站的相關資訊 |
firebasehost:sites:list |
列出使用中 Firebase 專案的所有託管網站 |
管理預覽管道 | |
firebasehost:channel:create \ CHANNEL_ID |
使用指定的 這個指令不會部署至管道。 |
firebasehost:channel:delete \ CHANNEL_ID |
刪除指定的預覽管道 您無法刪除網站的實際頻道。 |
firebasehost:channel:deploy \ CHANNEL_ID |
將「託管」內容和設定部署至指定的預覽管道 如果預覽管道尚未存在,這個指令會先在預設託管網站中建立管道,然後再部署至管道。 |
firebasefirebase:channel:list | 列出 default 代管網站中的所有管道 (包括「直播」頻道) |
firebasehost:channel:open \ CHANNEL_ID |
開啟瀏覽器前往指定頻道的網址,如果無法在瀏覽器中開啟,則傳回網址 |
版本複製 | |
firebasefirebase:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
將指定「來源」管道中最近部署的版本複製到指定的「目標」管道 這個指令也會部署至指定的「目標」管道。如果「target」管道不存在,這個指令會先在「target」託管網站建立新的預覽管道,再部署至管道。 |
firebasefirebase:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
將指定版本複製到指定的「target」版本 這個指令也會部署至指定的「目標」管道。如果「target」管道不存在,這個指令會先在「target」託管網站建立新的預覽管道,再部署至管道。 您可以在 Firebase 控制台的「託管資訊主頁」中找到 |
即時資料庫指令
請注意,您可以在 Firebase 控制台中建立預設的初始即時資料庫執行個體,也可以使用一般 firebase init
工作流程或特定的 firebase init database
流程。
建立執行個體後,您可以按照「管理多個即時資料庫執行個體」一文的說明管理這些執行個體。
指令 | 說明 |
---|---|
database:get | 從使用中專案的資料庫中擷取資料,並以 JSON 格式顯示。支援查詢已建立索引的資料。 |
database:instances:create | 建立具有指定執行個體名稱的資料庫執行個體。接受 --location 選項,以便在指定區域中建立資料庫。如需與這個選項搭配使用的區域名稱,請參閱「為專案選取位置」一節。如果目前的專案沒有任何資料庫執行個體,系統會提示您執行 firebase init 流程,建立執行個體。 |
database:instances:list | 列出這項專案的所有資料庫執行個體。接受在指定區域中列出資料庫的 --location 選項。如需與這個選項搭配使用的區域名稱,請參閱「為專案選取位置」一文。 |
database:profile | 在進行中專案的資料庫上建構作業設定檔。詳情請參閱即時資料庫作業類型。 |
database:push | 將新資料推送至有效專案資料庫中指定位置的清單。從檔案、STDIN 或指令列引數取得輸入內容。 |
database:remove | 刪除使用中專案資料庫中指定位置的所有資料。 |
database:set | 取代有效專案資料庫中指定位置的所有資料。從檔案、STDIN 或指令列引數取得輸入。 |
database:update | 這個外掛程式能在有效專案資料庫中的指定位置執行部分更新。從檔案、STDIN 或指令列引數取得輸入內容。 |
遠端設定指令
指令 | 說明 |
---|---|
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 |
將遠端設定範本復原為指定的前一個版本號碼,或預設使用前一個版本 (目前版本 -1)。除非傳遞 --force ,否則系統會先顯示「是/否」提示,才能繼續復原作業。 |