如何以非交互方式安装 firebase 扩展

How to install firebase extension in not-interactive way

我正在尝试通过 firebase CLI 安装 firebase firestore-bigquery-export 扩展。 但是我找不到如何以 non-interactive 方式安装扩展程序。

我需要它,因为我有多个环境并且 CI。

控制台包含关于 的信息,但是我在哪里可以找到参数名称?

$ firebase ext:install firestore-bigquery-export -h
Usage: firebase ext:install [options] [extensionName]

install an official extension if [extensionName] or [extensionName@version] is provided; or run with `-i` to see all available extensions.

Options:
  --params <paramsFile>  name of params variables file with .env format.
  -h, --help             output usage information

感谢您的帮助!

如文档中 here 所述(展开“在安装过程中绕过交互式终端提示输入参数值”部分),您需要:

  1. Create a .env file (for example, params.env) that defines your parameter values. Save the file locally.
  • Declare each parameter by its param value found in the extension's extension.yaml file.
  • Include values for all the parameters.
  • Follow dotenv syntax.
  1. Run the extension-install command with the --params flag. For example, to install the Translate Text extension, run the following command: firebase ext:install firestore-translate-text --params=path/to/params.env --project=projectID-or-alias

要查找给定扩展的 extension.yaml 文件,您需要查看其源代码。要找到 link 官方 Firebase 扩展程序的源代码,您需要在 Firebase 扩展程序产品页面或 Firebase 控制台中单击扩展程序卡片上的“了解更多”。

回应 aponski 的评论 回复:安装多个扩展实例...

并为 Renaud Tarnec 提供的答案添加一点....

当我尝试通过 firebase cli 以非交互方式安装 firestore-bigquery-export 扩展的多个实例时,我发现以下方法对我有用。

值得注意的是,我需要添加 --force 标志(在 doc 中未提及,除非我遗漏了一些东西)并通过管道传输扩展 ID,因为这在 extension.yaml 文件中不可用.

#!/bin/bash

PROJECT_ID=
DIR="$(cd "$(dirname "[=10=]")" && pwd)"
echo $PROJECT_ID

echo "firestore-bigquery-exports-users" | \
  firebase ext:install firebase/firestore-bigquery-export \
  --params=$DIR/users.params.env \
  --project=$PROJECT_ID \
  --force

echo "firestore-bigquery-exports-events" | \
  firebase ext:install firebase/firestore-bigquery-export \
  --params=$DIR/events.params.env \
  --project=$PROJECT_ID \
  --force