【问题标题】:How can I get firebase deploy --email or --token parameters to work?如何让 firebase deploy --email 或 --token 参数工作?
【发布时间】:2016-03-15 13:31:12
【问题描述】:

我在使用这些 firebase 命令部署带有 firebase 的 travis CI 时遇到问题:

firebase deploy --email ${FIREBASE_USERNAME} --password ${FIREBASE_PASSWORD}
firebase deploy --token ${FIREBASE_TOKEN}

它不喜欢--email 选项,它似乎需要--token,但不适用于我可以从我的firebase 应用程序获取的firebase 身份验证令牌。我做错了什么?

【问题讨论】:

标签: firebase travis-ci firebase-hosting


【解决方案1】:

在 CLI 的 2.0 版本中删除了电子邮件选项。

使用firebase login:ci 生成令牌。

  1. 在装有浏览器的机器上,安装 Firebase CLI。
  2. 运行火力基地 login:ci 登录并打印出新的访问令牌(当前 CLI 会话不会受到影响)。
  3. 在 CI 系统中以安全但可访问的方式存储输出令牌。

【讨论】:

  • 但是访问令牌在一个月后过期。有人知道解决方法吗?
  • firebase deploy --token "$FIREBASE_TOKEN" --non-interactive
【解决方案2】:

travis-ci 中的另一个 firebase 部署选项是使​​用部署提供程序 dpl (https://github.com/travis-ci/dpl)

选项

  • token:您的 Firebase CI 访问令牌(从 firebase 登录生成:ci)
  • 项目:部署到与 firebase.json 中指定的不同的 Firebase 项目
  • public:指定要上传到 Firebase Hosting 的目录。
  • ignore:指定部署时要忽略的文件。 (类似于 .gitignore)

示例

dpl --provider=firebase --token=<token> --project=<project>

使用此部署提供程序实用程序真正酷的地方在于,您可以从单个项目提交部署到一个或多个 firebase 托管应用程序...

after_script:
  - dpl --provider=firebase --token=${FIREBASE_TOKEN} --project=${PROJECT_ONE}
  - dpl --provider=firebase --token=${FIREBASE_TOKEN} --project=${PROJECT_TWO}

参考资料:

注意:您需要考虑的一件事是,如果每个托管应用程序需要使用相同的代码库但需要使用单独的 Firebase 来存储数据,您如何在每个托管应用程序中将 FIREBASE_URL 设置为常量。 p>

【讨论】:

  • 我有 5 个具有相同代码的 firebase 项目,我可以从 Travis 的单个 GitHub 存储库更新所有 5 个项目吗?并且 FIREBASE_TOKEN 是唯一的,或者我需要每个项目生成令牌?
  • 你说的那个PROJECT_ONE是什么?我的 firebase 项目的名称该项目的 URL ??
  • 我知道了 ⚠ 您的 CLI 身份验证需要更新以利用新功能。 ⚠ 请运行 firebase login --reauth
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-17
  • 1970-01-01
  • 2017-08-05
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多