
w9jds/firebase-action此Action适用于firebase-tools,支持使用firebase命令行客户端执行任意操作。
args - 必填。用于firebase命令行工具的参数。FIREBASE_TOKEN - 当未设置GCP_SA_KEY时必填。用于身份验证的令牌。可通过firebase login:ci命令获取。
GCP_SA_KEY - 当未设置FIREBASE_TOKEN时必填。具有项目中Firebase Admin角色的普通服务账户密钥(JSON格式)或Base64编码的服务账户密钥。如果要部署函数,还需要Cloud Functions Developer角色。由于部署服务账户在部署过程中使用App Engine默认服务账户,因此还需要Service Account User角色。如果仅用于托管,Firebase Hosting Admin角色已足够。详情参见Firebase Hosting GitHub集成文档。
PROJECT_ID - 可选。用于指定所有命令使用的特定项目。如果在.firebaserc文件中指定了项目,则无需此参数。
PROJECT_PATH - 可选。如果firebase.json不在仓库根目录,此参数指定包含firebase.json的文件夹路径。例如:./my-app。
以下示例展示如何通过Firebase身份验证并部署到Firebase Hosting:
yamlname: 构建与部署 on: push: branches: - master jobs: build: name: 构建 runs-on: ubuntu-latest steps: - name: 检出代码库 uses: actions/checkout@master - name: 安装依赖 run: npm install - name: 构建 run: npm run build-prod - name: 归档生产构建产物 uses: actions/upload-artifact@master with: name: dist path: dist deploy: name: 部署 needs: build runs-on: ubuntu-latest steps: - name: 检出代码库 uses: actions/checkout@master - name: 下载构建产物 uses: actions/download-artifact@master with: name: dist path: dist - name: 部署到Firebase uses: w9jds/firebase-action@master with: args: deploy --only hosting env: FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
或者使用GCP服务账户密钥:
yamlenv: GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }}
如果有多个托管环境,可以在args中指定环境名称,例如:args: deploy --only hosting:[环境名称]。
如果要为部署添加消息(如Git提交消息),需注意转义引号,避免YAML格式错误:
yamlwith: args: deploy --message \"${{ github.event.head_commi***ssage }}\"
本项目中的Dockerfile及相关脚本和文档以MIT许可证发布。
如果决定将构建和部署分为不同的作业(建议如此),请确保克隆代码库,因为Firebase-cli需要firebase仓库(特别是firebase.json)才能部署。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务