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

如何仅在提交已验证时运行Firebase GitHub Action?

可行,且可以通过GitHub Actions的条件配置实现

你要的需求完全可以实现,核心是利用GitHub Actions提供的上下文变量判断提交的验证状态,或者提交者的身份,再决定是否执行部署流程。

方案1:基于提交签名验证(推荐,符合“提交已验证”的需求)

GitHub会标记经过信任的GPG/SSH签名的提交为“已验证”,对应的上下文变量github.event.head_commit.verified会返回布尔值true。我们可以在工作流的Job级别添加条件,仅当最后一个提交已验证时才执行部署:

修改后的工作流配置:

# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on verified merge
'on':
  push:
    branches:
      - master
jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    # 仅当推送的最后一个提交已验证时,才执行该Job
    if: ${{ github.event.head_commit.verified }}
    steps:
      - uses: actions/checkout@v2
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_WOOSTER_TRADING_SYSTEMS }}'
          channelId: live
          projectId: wooster-trading-systems

这个配置的逻辑:

  • 只有推送到master分支的提交中,最后一个提交是已验证状态时,才会触发构建和部署
  • 如果未验证提交者推送代码,工作流会直接跳过部署;之后验证提交者推送的代码(作为最新的已验证提交)会触发部署,自动更新到最新内容

方案2:基于指定提交者名单(适合限制特定用户部署)

如果你所谓的“验证提交者”是指仓库的特定授权用户,可以通过判断提交者的GitHub用户名来实现:

# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on authorized push
'on':
  push:
    branches:
      - master
jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    # 仅当提交者在指定名单内时执行部署
    if: ${{ contains(fromJSON('["你的用户名1", "你的用户名2"]'), github.event.head_commit.author.login) }}
    steps:
      - uses: actions/checkout@v2
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_WOOSTER_TRADING_SYSTEMS }}'
          channelId: live
          projectId: wooster-trading-systems

把["你的用户名1", "你的用户名2"]替换为允许部署的用户GitHub用户名即可,只有这些用户推送的代码才会触发部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:06:44