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

时间:2019-11-14 01:41:55

标签: node.js firebase github firebase-cli

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


这是我的工作流程文件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

1 个答案:

答案 0 :(得分:2)

您不必在CI系统上使用firebase login。您所要做的就是遵循instructions in the documentation与任何CI系统集成。

  

在CI系统上使用CLI

     

Firebase CLI需要使用浏览器来完成身份验证,但是   CLI与CI和其他无头环境完全兼容。

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

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

  4.   
  5. firebase登录名:ci

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

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

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

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

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

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

    •   
  14.