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 Package Manager) 安裝 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 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
解除安裝 Firebase CLI
解除安裝 CLI 的方式取決於作業系統和 CLI 的安裝方式。
Windows
- 獨立二進位檔:刪除下載的
firebase.exe二進位檔。 - npm:執行
npm uninstall -g firebase-tools
macOS
自動安裝指令碼:執行
curl -sL https://firebase.tools | uninstall=true bash獨立二進位檔:刪除下載的
firebase二進位檔。如果您已將其位置新增至PATH環境變數,請務必移除。npm:執行
npm uninstall -g firebase-tools
Linux
自動安裝指令碼:執行
curl -sL https://firebase.tools | uninstall=true bash獨立二進位檔:刪除下載的
firebase二進位檔。如果您已將其位置新增至PATH環境變數,請務必移除。npm:執行
npm uninstall -g firebase-tools
搭配使用 CLI 與 CI 系統
搭配 CI 系統使用 CLI 時,建議您使用應用程式預設憑證進行驗證。
(建議) 使用應用程式預設憑證
Firebase CLI 會偵測並使用應用程式預設憑證 (如有設定)。如要在 CI 和其他無頭環境中驗證 CLI,最簡單的方法是設定應用程式預設憑證。
(舊版) 使用 FIREBASE_TOKEN
或者,您也可以使用 FIREBASE_TOKEN 進行驗證。這種做法的安全性低於應用程式預設憑證,因此我們不再建議使用。
在有瀏覽器的機器上安裝 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 專案建立關聯,以便針對適當的 Firebase 專案執行專案專屬指令 (例如
firebase deploy)。您也可以將多個 Firebase 專案 (例如測試專案和正式環境專案) 與同一個專案目錄建立關聯。
選取要在 Firebase 專案中設定的 Firebase 產品。
這個步驟會提示您為所選產品或功能的特定檔案進行設定。如要進一步瞭解這些設定,請參閱特定產品的說明文件 (例如 Hosting 或 Authentication)。請注意,您隨時可以稍後執行
firebase init,設定更多 Firebase 產品。
初始化結束時,Firebase 會自動在本機應用程式目錄的根層級建立下列兩個檔案:
列出專案設定的
firebase.json設定檔。儲存專案別名的
.firebaserc檔案。
firebase.json 檔案
firebase init 指令會在專案目錄的根目錄中建立 firebase.json 設定檔。
firebase.json 檔案是使用 Firebase CLI 部署資產的必要檔案,因為該檔案會指定要從專案目錄部署哪些檔案和設定到 Firebase 專案 (例如 Hosting 設定、Authentication 供應商設定、安全性規則和 Cloud Functions 設定)。由於部分設定可以在專案目錄或 Firebase 控制台中定義,請務必解決任何潛在的部署衝突。
您可以直接在 firebase.json 檔案中設定大部分 Firebase Hosting 選項。不過,對於其他可透過 Firebase CLI 部署的 Firebase 服務,firebase init 指令會建立特定檔案,您可以在其中定義這些服務的設定,例如 Cloud Functions 的 index.js 檔案。您也可以在 firebase.json 檔案中設定部署前或部署後掛鉤。
以下 firebase.json 檔案是完整範例,顯示多項 Firebase 服務的設定選項。此外,也示範了多程式碼集 Cloud Functions、Local Emulator Suite 設定和 Remote Config 範本等功能。請注意,任何專案的 firebase.json 檔案只會包含該專案設定的 Firebase 服務設定 (例如只有 Firebase Hosting 和 Cloud Functions)。新增 $schema 鍵後,許多程式碼編輯器就能啟用驗證和自動完成功能。
{
"$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"cleanUrls": true,
"trailingSlash": false
},
"apphosting": {
"backendId": "my-app",
"rootDir": "backend",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"storage": {
"rules": "storage.rules"
},
"database": {
"rules": "database.rules.json"
},
"dataconnect": {
"source": "dataconnect",
"location": "us-central1"
},
"functions": [
{
"source": "functions",
"codebase": "default",
"ignore": [
"**/.*",
"**/node_modules/**"
],
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
],
"emulators": {
"auth": {
"port": 9099
},
"functions": {
"port": 5001
},
"firestore": {
"port": 8080
},
"hosting": {
"port": 5000
},
"storage": {
"port": 9199
},
"ui": {
"enabled": true,
"port": 4000
},
"singleProjectMode": true
},
"extensions": {
"my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
},
"auth": {
"providers": {
"anonymous": true,
"emailPassword": true,
"googleSignIn": {
"oAuthBrandDisplayName": "My App",
"supportEmail": "support@myapp.com"
}
}
},
"remoteconfig": {
"template": "remoteconfig.template.json"
}
}
雖然系統預設會使用 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 \ |
從專案目錄中移除別名。 |
您可以使用任何 CLI 指令傳遞 --project 旗標,覆寫目前使用的專案。舉例來說,您可以將 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 SQL Connect 的新版或更新版結構定義和連接器
- 出局 Security Rules 人,得分 Firebase Realtime Database
- 出局 Security Rules 人,得分 Cloud Storage for Firebase
- 出局 Security Rules 人,得分 Cloud Firestore
- Cloud Firestore 的索引
- Authentication 的設定
如要部署至 Firebase 專案,請在專案目錄中執行下列指令:
firebase deploy
您可以視需要為每個部署作業新增註解。這則註解會與其他部署資訊一起顯示在專案的Firebase Hosting頁面上。例如:
firebase deploy -m "Deploying the best new feature ever."
使用 firebase deploy 指令時,請注意下列事項:
如要從專案目錄部署資源,專案目錄必須有
firebase.json檔案。firebase init指令會自動為您建立這個檔案。根據預設,
firebase deploy會為專案目錄中「所有」可部署的資源建立版本。如要部署特定 Firebase 服務或功能,請使用部分部署。
部署特定 Firebase 服務
如果只想部署特定 Firebase 服務或功能,可以在 firebase deploy 指令的旗標中使用逗號分隔的清單。舉例來說,下列指令會部署 Firebase Hosting 內容和 Cloud Storage Security Rules。
firebase deploy --only hosting,storage
下表列出可部分部署的服務和功能。旗標中的名稱會對應至 firebase.json 設定檔中的索引鍵。
| 旗標語法 | 已部署的服務或功能 |
|---|---|
--only auth |
Authentication 提供者設定 |
--only database |
Firebase Realtime Database Security Rules |
--only dataconnect |
Firebase SQL Connect 結構定義和連接器 |
--only firestore |
Cloud Firestore Security Rules 和所有已設定資料庫的索引 |
--only functions |
Cloud Functions for Firebase |
--only hosting |
Firebase Hosting內容 |
--only storage |
Cloud Storage for Firebase Security Rules |
Security Rules 的部署作業衝突
如果是 Firebase Realtime Database、Cloud Storage for Firebase 和 Cloud Firestore,您可以在本機專案目錄或 Firebase 控制台中定義 Security Rules。
另一個避免部署衝突的方法是使用部分部署,並只在 Firebase 控制台中定義 Security Rules。
設定部署前和部署後的指令碼工作
您可以將殼層指令碼連結至 firebase deploy 指令,執行部署前或部署後工作。舉例來說,預先部署指令碼可將 TypeScript 程式碼轉譯為 JavaScript,而部署後掛鉤則可通知管理員有新的網站內容部署至 Firebase Hosting。
如要設定部署前或部署後掛鉤,請在 firebase.json 設定檔中新增 Bash 指令碼。您可以直接在 firebase.json 檔案中定義簡短指令碼,也可以參照專案目錄中的其他檔案。
舉例來說,下列指令碼是部署後工作的 firebase.json 運算式,會在成功部署至 Firebase Hosting 時傳送 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指令碼) 包含要部署的 Hosting 或 Cloud Functions 資源的目錄位置
部署配額
您有可能 (雖然不太可能) 超過 Firebase 部署作業的頻率或數量配額限制。舉例來說,部署大量函式時,您可能會收到 HTTP 429 Quota 錯誤訊息。如要解決這類問題,請嘗試使用部分部署。
復原部署作業
如要復原 Firebase Hosting 部署作業,請前往專案的「Firebase Hosting」頁面,然後選取所需版本的「復原」動作。
無法復原 Firebase Realtime Database、Cloud Storage for Firebase 或 Cloud Firestore 的 Security Rules 版本。
指令參考資料
本節說明下列用途和產品的可用指令:
- CLI 管理指令
- 專案管理指令
- 部署和本機開發
- App Distribution 指令
- App Hosting 指令
- Authentication (使用者管理) 指令
- Cloud Firestore 指令
- Cloud Functions for Firebase 指令
- Crashlytics 指令
- Extensions 指令
- Extensions 發布商指令
- Hosting 指令
- Realtime Database 指令
- Remote Config 指令
- SQL Connect 指令
CLI 管理指令
| 指令 | 說明 |
|---|---|
help
|
顯示 CLI 或特定指令的說明資訊。 |
init
|
在目前目錄中建立新的 Firebase 專案,並與該專案建立關聯。
這個指令會在目前目錄中建立 firebase.json 設定檔。
|
login
|
使用 Google 帳戶驗證 CLI。需要存取網路瀏覽器。
如要在不允許存取 |
login:ci
|
已淘汰。
請改用應用程式預設憑證和 Google Cloud 服務帳戶 (GOOGLE_APPLICATION_CREDENTIALS)。產生驗證權杖,以便在非互動式環境中使用。 |
login:add
|
登入其他 Google 帳戶。 |
login:list
|
列出所有已驗證的 Google 帳戶。 |
login:use \
|
設定使用中的 Google 帳戶。 |
logout
|
從 CLI 登出 Google 帳戶。 |
open
|
開啟瀏覽器,前往相關專案資源。 |
projects:list
|
列出您有權存取的所有 Firebase 專案。 |
use
|
設定 CLI 的有效 Firebase 專案。 進一步瞭解如何管理專案別名。 |
專案管理指令
| 指令 | 說明 |
|---|---|
| 管理 Firebase 專案 | |
projects:addfirebase
|
在「現有」Google Cloud 專案中,新增 Firebase 專屬設定並啟用 Firebase 專屬服務。 |
projects:create
|
建立新的 Google Cloud 專案,然後新增 Firebase 專屬設定,並為新專案啟用 Firebase 專屬服務。 |
projects:list
|
列出您有權存取的所有 Firebase 專案。 |
| 管理 Firebase 應用程式 (iOS、Android、網頁) | |
apps:create
|
建立新的 Firebase 應用程式。 |
apps:list
|
列出有效 Firebase 專案中所有已註冊的 Firebase 應用程式。 |
apps:sdkconfig \
|
列印指定 Firebase 應用程式的 Firebase 設定。
如果 CLI 是以非互動模式執行:
這個指令支援下列選用旗標:
|
| 管理 SHA 憑證雜湊 (僅限 Android) | |
apps:android:sha:create \
|
將指定的安全雜湊演算法 (SHA) 憑證雜湊新增至指定的 Firebase Android 應用程式。 |
apps:android:sha:delete \
|
從指定的 Firebase Android 應用程式中,刪除指定的 SHA 憑證 (由 apps:android:sha:list 的 SHA_ID 識別)。 |
apps:android:sha:list \
|
列出指定 Firebase Android 應用程式的所有安全雜湊演算法 (SHA) 憑證雜湊。 |
部署和本機開發
這些指令可讓您部署及與 Firebase 專案互動。
| 指令 | 說明 |
|---|---|
deploy
|
將專案目錄中的程式碼和資產部署至有效的 Firebase 專案。
這項指令需要專案目錄中的 進一步瞭解如何部署至 Firebase 專案。 |
serve
|
啟動本機伺服器,測試 Firebase Hosting 設定和/或本機 HTTP Cloud Functions (例如使用
這項指令需要專案目錄中的 進一步瞭解如何在本機提供及測試。 |
App Distribution 指令
| 指令 | 說明 |
|---|---|
appdistribution:distribute \
|
上傳指定的版本二進位檔案 (.apk、.aab 或 .ipa),並提供給指定 Firebase 應用程式的測試人員。 |
appdistribution:testers:add \
|
將一或多位測試人員 (以空格分隔的 EMAILS 指定) 新增至有效的 Firebase 專案。如果省略 EMAILS,則必須傳遞 這個指令只會新增尚未加入專案的測試人員,不會移除或覆寫現有測試人員。 這個指令支援下列選用旗標:
|
appdistribution:testers:remove \
|
從有效的 Firebase 專案中移除測試人員 (以空格分隔的 EMAILS)。如果省略 EMAILS,則必須傳遞 這個指令支援下列選用旗標:
|
appdistribution:testers:list
|
列出有效 Firebase 專案中的測試人員。 |
appdistribution:groups:create \
|
使用指定的 DISPLAY_NAME 和選用的 GROUP_ALIAS 建立測試人員群組。 如果省略 GROUP_ALIAS,系統會自動從 DISPLAY_NAME 產生別名。 |
appdistribution:groups:delete \
|
刪除具有指定別名的測試人員群組。 |
appdistribution:groups:list
|
列出有效 Firebase 專案中的所有測試人員群組。 |
App Hosting 指令
| 指令 | 說明 |
|---|---|
apphosting:backends:create \
|
建立一組連結至單一程式碼集的代管資源,其中包含 App Hosting 後端。 這個指令支援下列選用 (但建議使用) 旗標:
這個指令也支援下列選用旗標:
如果 CLI 是以非互動模式執行,則必須提供 |
apphosting:backends:get \
|
擷取指定 App Hosting 後端的詳細資料,包括公開網址。
如果多個區域包含具有指定 BACKEND_ID 的後端,CLI 會記錄警告並輸出第一個相符的後端 (請注意,這個指令不支援 |
apphosting:backends:list
|
列出有效 Firebase 專案中所有有效的 App Hosting 後端。 |
apphosting:backends:delete \
|
刪除指定的 App Hosting 後端。
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標:
如果多個區域包含具有指定 BACKEND_ID 的後端,CLI 會在互動模式中提示您選取要刪除的後端,並在傳遞 |
apphosting:rollouts:create \
|
為指定的 App Hosting 後端建立手動觸發的推出作業。 這個指令支援下列選用且互斥的旗標。如果兩者皆未提供,CLI 會提示您從分支版本清單中選取;在非互動模式下,則必須提供其中一個旗標。
如果多個區域包含具有指定 BACKEND_ID 的後端,則這個指令在互動和非互動模式下都會失敗 (請注意,這個指令不支援 |
apphosting:secrets:set \
|
使用指定的 SECRET_NAME 在 Google Cloud Secret Manager 中建立或更新密鑰。 這個指令支援下列選用 (但建議使用) 旗標:
這個指令也支援下列選用旗標:
如果 CLI 是在非互動模式下執行,請傳遞 |
apphosting:secrets:grantaccess \
|
將指定密鑰的權限授予一組使用者或群組電子郵件地址,或後端的服務帳戶。App Hosting 可以在建構或執行階段存取 Secret。
您可以傳送一或多個 SECRET_NAME 值,並以半形逗號分隔。您必須指定 將存取權授予一組使用者或群組電子郵件地址:
將存取權授予後端的服務帳戶:
|
apphosting:secrets:revokeaccess \
|
撤銷一組使用者或群組電子郵件地址,或後端服務帳戶對指定密鑰的權限。
您可以傳送一或多個 SECRET_NAME 值,並以半形逗號分隔。您必須指定 撤銷一組使用者或群組電子郵件地址的存取權:
撤銷後端服務帳戶的存取權:
|
apphosting:secrets:describe \
|
擷取指定密鑰名稱的中繼資料和版本。 |
apphosting:secrets:access \
|
存取指定密鑰名稱和指定版本的密鑰值。 如果省略 [@VERSION],預設會存取最新版本。
|
Authentication (使用者管理) 指令
| 指令 | 說明 |
|---|---|
auth:export \
|
將有效 Firebase 專案的使用者帳戶匯出為 JSON 或 CSV 檔案。 詳情請參閱「auth:import 和 auth:export」頁面。 |
auth:import \
|
將 JSON 或 CSV 檔案中的使用者帳戶匯入至有效的 Firebase 專案。 詳情請參閱「auth:import 和 auth:export」頁面。 |
Cloud Firestore 指令
| 指令 | 說明 |
|---|---|
firestore:locations
|
列出有效 Firebase 專案中 Cloud Firestore 資料庫執行個體的可用位置。 瞭解 Standard 版、Enterprise 版和 MongoDB 相容性的可用位置。 |
firestore:databases:create \
|
在指定位置建立指定的 Cloud Firestore 資料庫執行個體 (原生模式)。 這個指令支援下列選用旗標:
|
firestore:databases:list |
列出有效 Firebase 專案中的所有 Cloud Firestore 資料庫執行個體。 |
firestore:databases:get \
|
擷取指定 Cloud Firestore 資料庫執行個體的資料庫設定。
資料表輸出內容包含所有資料庫的 |
firestore:databases:update \
|
更新指定 Cloud Firestore 資料庫執行個體的資料庫設定。 至少須提供一個旗標 (省略的旗標會保留目前設定)。這個指令支援下列旗標:
|
firestore:databases:delete \
|
刪除指定的 Cloud Firestore 資料庫執行個體。
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞 |
firestore:indexes
|
列出 Cloud Firestore 資料庫執行個體的所有索引。 這個指令支援下列選用旗標:
|
firestore:delete \
|
從 Cloud Firestore 資料庫執行個體中,刪除指定資料庫路徑 (PATH) 的文件。
除非傳遞 請注意,使用 CLI 刪除 Cloud Firestore 資料會產生讀取和刪除費用。詳情請參閱「瞭解 Cloud Firestore 計費方式」。 這個指令支援下列選用旗標:
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
Cloud Functions for Firebase 指令
詳情請參閱環境設定說明文件。
| 指令 | 說明 |
|---|---|
functions:config:export
|
將使用中 Firebase 專案的舊版 這個指令支援下列選用旗標:
|
functions:delete \
|
從使用中的 Firebase 專案刪除一或多個指定函式。
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
functions:list
|
列出使用中 Firebase 專案內所有已部署的函式。 |
functions:log
|
讀取有效 Firebase 專案中所有已部署 Cloud Functions 的記錄。 |
functions:secrets:access \
|
存取指定密鑰名稱和指定版本的密鑰值。 如果省略 [@VERSION],預設會存取最新版本。
|
functions:secrets:destroy \
|
刪除指定版本的指定密鑰。
CLI 會在採取行動前顯示確認提示,並在非互動模式下自動確認,不需使用 |
functions:secrets:get \
|
擷取指定密鑰名稱的中繼資料和版本。 |
functions:secrets:prune
|
刪除使用中 Firebase 專案內所有未使用的 Secret。 |
functions:secrets:set \
|
建立或更新指定的密鑰。 |
functions:shell
|
啟動本機互動式殼層,測試函式。 |
functions:config:clone \
|
已淘汰。
預設停用。如要使用這個指令,請先執行 |
functions:config:get
|
已淘汰。
擷取有效 Firebase 專案 Cloud Functions 的現有設定值。 |
functions:config:set \
|
已淘汰。
預設停用。如要使用這個指令,請先執行 |
functions:config:unset \
|
已淘汰。
預設停用。如要使用這個指令,請先執行 |
Crashlytics 指令
| 指令 | 說明 |
|---|---|
crashlytics:mappingfile:generateid \
|
在指定的 Android 資源 (XML) 檔案中,產生專屬的對應檔案 ID。 |
crashlytics:mappingfile:upload \
|
為指定的 Firebase 應用程式上傳 Proguard 相容對應 (TXT) 檔案,並與指定 Android 資源 (XML) 檔案中宣告的對應檔案 ID 建立關聯。 |
crashlytics:symbols:upload \
|
為 Android 原生程式庫當機 (例如 Android NDK,或 Unity 或 Flutter 的 Android 版本) 產生與 Crashlytics 相容的符號檔案,並上傳至 Firebase 伺服器。
這項指令僅支援 Android。如果是 iOS dSYM,請使用 Apple SDK 的 |
Extensions 指令
| 指令 | 說明 |
|---|---|
ext
|
顯示 Firebase Extensions 指令的使用資訊。 列出有效專案中安裝的擴充功能執行個體。 |
ext:configure \
|
在擴充功能資訊清單中,重新設定擴充功能執行個體的參數值。 |
ext:info \
|
列印擴充功能的詳細資訊。 |
ext:install \
|
在擴充功能資訊清單中新增擴充功能。 |
ext:sdk:install \
|
安裝 SDK,在函式中定義擴充功能。 |
ext:list
|
列出 Firebase 專案中安裝的所有擴充功能執行個體。
列印每個擴充功能的執行個體 ID。 |
ext:uninstall \
|
從擴充功能資訊清單中移除擴充功能執行個體。 |
ext:update \
|
在擴充功能資訊清單中,將擴充功能執行個體更新至最新版本 (或指定的已發布 UPDATE_SOURCE 版本)。請注意,UPDATE_SOURCE 不支援本機路徑和網址。
CLI 會在採取行動前顯示確認提示。您可以傳遞 |
ext:export
|
將專案中所有已安裝的擴充功能執行個體匯出至擴充功能資訊清單。 |
Extensions 個發布商指令
| 指令 | 說明 |
|---|---|
ext:dev:init
|
在目前目錄中,為新擴充功能初始化骨架程式碼集。 |
ext:dev:list \
|
列印發布者上傳的所有擴充功能清單。 |
ext:dev:register
|
已停用。
系統已不支援註冊新的發布商設定檔 ID。 |
ext:dev:deprecate \
|
淘汰與版本述詞相符的擴充功能版本。 版本述詞可以是單一版本 (例如 1.0.0),也可以是版本範圍 (例如 >1.0.0)。
如未提供版本述詞,則會淘汰該擴充功能的所有版本。 |
ext:dev:undeprecate \
|
取消淘汰符合版本述詞的擴充功能版本。 版本述詞可以是單一版本 (例如 1.0.0),也可以是版本範圍 (例如 >1.0.0)。
|
ext:dev:upload \
|
上傳新版擴充功能。 |
ext:dev:usage \
|
顯示發布者上傳的擴充功能安裝次數和用量指標。 |
Hosting 指令
| 指令 | 說明 |
|---|---|
hosting:disable
|
停止為 Hosting 網站提供 Firebase Hosting 流量。 執行這項指令後,網站的 Hosting 網址會顯示「找不到網站」訊息。 這個指令支援下列選用旗標:
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
| 管理 Hosting 個網站 | |
hosting:sites:create \
|
使用指定的 SITE_ID 建立新的 Hosting 網站。 如果 CLI 是以非互動模式執行,則必須提供 SITE_ID。 這個指令支援下列選用旗標:
|
hosting:sites:delete \
|
刪除指定的 Hosting 網站。
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
hosting:sites:get \
|
擷取指定 Hosting 網站的詳細資料。
表格輸出內容包含網站 ID、預設網址和 Firebase 網頁應用程式 ID (如有連結)。只有在傳遞 |
hosting:sites:list
|
列出有效 Firebase 專案中的所有 Hosting 網站。 |
| 管理預先發布版 | |
hosting:channel:create \
|
使用指定的 CHANNEL_ID 為 Hosting 網站建立新的預覽管道。 如果 CLI 是以非互動模式執行,則必須提供 CHANNEL_ID。 這個指令支援下列選用旗標:
|
hosting:channel:delete \
|
刪除指定的預先發布版管道。您無法刪除網站的直播頻道。 這個指令支援下列選用旗標:
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
hosting:channel:deploy \
|
將 Hosting 內容和設定部署至指定的預先發布版管道。 這個指令支援下列選用旗標:
|
hosting:channel:list
|
列出 Hosting 網站的所有管道 (包括「live」管道)。 這個指令支援下列選用旗標:
|
hosting:channel:open \
|
在瀏覽器中開啟指定頻道的網址,如果無法在瀏覽器中開啟,則傳回網址。 如果 CLI 是以非互動模式執行,則必須提供 CHANNEL_ID。 這個指令支援下列選用旗標:
|
| 複製版本 | |
hosting:clone \
|
將指定「來源」管道上最近部署的版本,複製到指定「目標」管道。 這個指令也會部署至指定的「目標」管道。如果「目標」管道尚不存在,這個指令會在「目標」Hosting 網站中建立新的預覽管道,然後部署至該管道。 |
hosting:clone \
|
將指定版本複製到指定的「目標」管道。 這個指令也會部署至指定的「目標」管道。如果「目標」管道尚不存在,這個指令會在「目標」Hosting 網站中建立新的預覽管道,然後部署至該管道。 您可以在 Firebase 控制台的Hosting資訊主頁中找到 VERSION_ID。 |
Realtime Database 指令
請注意,您可以在 Firebase 控制台建立初始預設 Realtime Database 執行個體,也可以使用一般 firebase init 工作流程或特定 firebase init database 流程。
建立執行個體後,您可以按照「使用 CLI 管理特定執行個體並與其互動」一節所述的方式管理執行個體。
| 指令 | 說明 |
|---|---|
database:get \
|
擷取 Realtime Database 執行個體指定資料庫位置 (PATH) 的資料,並以 JSON 格式顯示。支援查詢已建立索引的資料。 這個指令支援下列選用旗標:
|
database:instances:create \
|
在指定位置建立具有指定 DATABASE_NAME 的 Realtime Database 執行個體。 這個指令支援下列選用 (但建議使用) 旗標:
您無法使用這個指令,為使用中的 Firebase 專案建立預設 Realtime Database 執行個體。如果專案
不含任何現有的 Realtime Database 執行個體,系統會提示您
執行 |
database:instances:list
|
列出有效 Firebase 專案中的所有 Realtime Database 執行個體。 這個指令支援下列選用旗標:
|
database:profile
|
建立 Realtime Database 執行個體的作業設定檔。 這個指令支援下列選用旗標:
|
database:push \
|
將新資料推送至 Realtime Database 執行個體中指定資料庫位置 (PATH) 的清單。
從檔案 (INFILE)、STDIN 或 這個指令支援下列選用旗標:
|
database:remove \
|
刪除 Realtime Database 執行個體中指定資料庫位置 (PATH) 的所有資料。 這個指令支援下列選用旗標:
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
database:set \
|
取代 Realtime Database 執行個體中指定資料庫位置 (PATH) 的所有資料。
從檔案 (INFILE)、STDIN 或 這個指令支援下列選用旗標:
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
database:update \
|
在 Realtime Database 執行個體中,對指定的資料庫位置 (PATH) 執行部分更新。
從檔案 (INFILE)、STDIN 或 這個指令支援下列選用旗標:
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
Remote Config 指令
如要進一步瞭解這些指令和用途,請參閱「透過程式輔助方式修改 Remote Config」。
| 指令 | 說明 |
|---|---|
remoteconfig:versions:list
|
列出 Remote Config 範本的所有版本。 這個指令支援下列選用旗標:
|
remoteconfig:get \
|
擷取指定版本 Remote Config 範本的詳細資料。 這個指令支援下列選用 (但建議使用) 旗標:
|
remoteconfig:rollback \
|
將 Remote Config 範本復原至指定的先前版本。 這個指令支援下列選用 (但建議使用) 旗標:
CLI 會在採取行動前顯示確認提示。如要略過確認提示 (非互動模式下必須執行),請傳遞下列旗標: |
remoteconfig:experiments:list
|
列出有效 Firebase 專案中的所有 Remote Config 實驗。 這個指令支援下列選用旗標:
|
remoteconfig:experiments:get \
|
擷取指定 Remote Config 實驗的詳細資料。
表格輸出內容包括實驗的資源名稱、顯示名稱、狀態 ( |
remoteconfig:experiments:delete \
|
刪除指定的 Remote Config 實驗。
CLI 會在採取行動前顯示確認提示,且不支援 |
remoteconfig:rollouts:list
|
列出有效 Firebase 專案中的所有 Remote Config 推出作業。 這個指令支援下列選用旗標:
|
remoteconfig:rollouts:get \
|
擷取指定 Remote Config 推出作業的詳細資料。 |
remoteconfig:rollouts:delete \
|
刪除指定的 Remote Config 推出作業。
CLI 會在採取行動前顯示確認提示,且不支援 |
SQL Connect 指令
如要進一步瞭解這些指令和用途,請參閱 SQL Connect CLI 參考指南。
| 指令 | 說明 |
|---|---|
dataconnect:services:list
|
列出有效 Firebase 專案中所有已部署的 SQL Connect 服務。 |
dataconnect:sql:diff
|
顯示本機 SQL Connect 結構定義與 Cloud SQL 資料庫結構定義之間的差異。 這個指令支援下列選用旗標:
|
dataconnect:sql:migrate
|
遷移 Cloud SQL 資料庫的結構定義,使其與本機 SQL Connect 結構定義相符。 這個指令支援下列選用旗標:
在互動模式下,CLI 會在採取行動前顯示確認提示。在非互動模式下,系統會自動執行非破壞性遷移,但除非您傳遞 |
dataconnect:sql:grant \
|
將指定的 SQL_ROLE ( 這個指令支援下列選用旗標:
|
dataconnect:sdk:generate
|
為 SQL Connect 連接器產生類型化 SDK。 這個指令支援下列選用旗標:
|