You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Action部署Angular应用至Firebase时遇交互卡顿求助

无交互完成GitHub Action部署Angular到Firebase的配置

要解决部署时卡在交互步骤的问题,核心是通过Firebase服务账号密钥实现无身份验证,全程无需手动交互。具体步骤如下:

1. 获取Firebase服务账号密钥

  • 打开Firebase控制台,进入目标项目
  • 点击右上角设置图标 → 「项目设置」→ 「服务账号」标签页
  • 点击「生成新的私钥」,下载JSON格式的密钥文件,妥善保存

2. 将密钥存入GitHub仓库Secrets

  • 进入你的GitHub仓库,依次点击「Settings」→「Secrets and variables」→「Actions」
  • 点击「New repository secret」,命名为FIREBASE_SERVICE_ACCOUNT,将下载的JSON文件内容完整粘贴到输入框,保存

3. 修改GitHub Action配置文件(actions.yml)

以下是两种可行的配置方案,选其一即可:

方案一:直接使用firebase-cli命令

name: 部署Angular到Firebase
on:
  push:
    branches: [ main ] # 触发部署的分支,按需修改
jobs:
  build-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
      
      - name: 配置Node环境
        uses: actions/setup-node@v4
        with:
          node-version: '20' # 匹配你的Angular项目所需Node版本
      
      - name: 安装依赖
        run: npm install
      
      - name: 构建Angular项目
        run: npm run build --prod # 若使用Angular 16+,可改为--configuration production
      
      - name: 安装Firebase CLI
        run: npm install -g firebase-tools
      
      - name: 无交互部署到Firebase
        run: firebase deploy --project 你的Firebase项目ID --non-interactive
        env:
          FIREBASE_TOKEN: ${{ secrets.FIREBASE_SERVICE_ACCOUNT }}

方案二:使用官方Firebase Action(更简洁)

name: 部署Angular到Firebase
on:
  push:
    branches: [ main ]
jobs:
  build-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
      
      - name: 配置Node环境
        uses: actions/setup-node@v4
        with:
          node-version: '20'
      
      - name: 安装依赖并构建项目
        run: |
          npm install
          npm run build --prod
      
      - name: 部署到Firebase Hosting
        uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: "${{ secrets.GITHUB_TOKEN }}"
          firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT }}"
          projectId: 你的Firebase项目ID
          channelId: live # 指定部署到正式环境

4. 关键注意事项

  • 将配置中的「你的Firebase项目ID」替换为实际的项目ID(可在Firebase控制台项目设置中查看)
  • 确保项目根目录的firebase.json已正确配置部署目录,比如:
    {
      "hosting": {
        "public": "dist/你的项目名称",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      }
    }
    
  • 所有敏感信息必须通过GitHub Secrets管理,禁止硬编码在配置文件中

内容的提问来源于stack exchange,提问作者Vled

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:47:38