如何在构建服务器上使用“firebase login:ci”

tdm*_*ler 5 github node.js firebase firebase-cli

我正在使用Github Workflows运行 nodejs 构建,我希望能够构建我的项目,然后立即将其部署到我的 firebase 项目。使用 Firebase 部署。但是如果我想使用 firebase-tools,我必须登录构建服务器。但是没有办法通过电子邮件和密码等进行身份验证。有没有办法让我完成我想要完成的任务?firebase-tools在我的构建脚本中是“react-scripts build && firebase deploy”


这是我的工作流文件 nodejs.yml:


name: Node CI

on: [push]

jobs:
  build:

runs-on: ubuntu-latest

strategy:
  matrix:
    node-version: [8.x, 10.x, 12.x]

steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
  uses: actions/setup-node@v1
  with:
    node-version: ${{ matrix.node-version }}
- name: npm install, build, and test
  run: |
    npm i -g firebase-tools
    firebase login
    npm ci
    npm run build --if-present
    npm test
  env:
    CI: true
Run Code Online (Sandbox Code Playgroud)

Dou*_*son 9

您不必firebase login在 CI 系统上使用。您所要做的就是按照文档中的说明与任何 CI 系统集成。

将 CLI 与 CI 系统结合使用

Firebase CLI 需要浏览器才能完成身份验证,但 CLI 完全兼容 CI 和其他无头环境。

  1. 在带有浏览器的机器上,安装 Firebase CLI。

  2. 通过运行以下命令启动登录过程:

  3. Firebase 登录名:ci

  4. 访问提供的 URL,然后使用 Google 帐户登录。

  5. 打印一个新的刷新令牌。当前的 CLI 会话不会受到影响。

  6. 在 CI 系统中以安全但可访问的方式存储输出令牌。

  7. 运行 firebase 命令时使用此令牌。您可以使用以下两个选项之一:

    • 将令牌存储为环境变量 FIREBASE_TOKEN。您的系统将自动使用该令牌。

    • 在 CI 系统中使用 --token 标志运行所有 firebase 命令。令牌加载的优先顺序是标志、环境变量、所需的 Firebase 项目。

  • 我也对“打印新的刷新令牌”指令感到有点困惑,但按照说明进行操作直到第 4 步后检查终端输出。它指出“成功!使用此令牌登录 CI 服务器:...”。 (3认同)