我正在使用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
答案 0 :(得分:2)
您不必在CI系统上使用firebase login
。您所要做的就是遵循instructions in the documentation与任何CI系统集成。
在CI系统上使用CLI
Firebase CLI需要使用浏览器来完成身份验证,但是 CLI与CI和其他无头环境完全兼容。
在具有浏览器的计算机上,安装Firebase CLI。
通过运行以下命令来启动登录过程:
firebase登录名:ci
访问提供的URL,然后使用Google帐户登录。
打印一个新的刷新令牌。当前的CLI会话不会受到影响。
以安全但可访问的方式将输出令牌存储在CI系统中。
在运行firebase命令时使用此令牌。您可以使用以下两个选项之一:
将令牌存储为环境变量FIREBASE_TOKEN。您的系统将自动使用令牌。
在CI系统中运行带有--token标志的所有firebase命令。令牌加载的优先顺序为flag, 环境变量,所需的Firebase项目。