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

如何为github-actions[bot]授予Git权限以部署Blazor到GitHub Pages

解决GitHub Action部署Blazor WASM到GitHub Pages的403权限问题

问题核心

github-actions[bot]没有推送gh-pages分支的权限,默认的GITHUB_TOKEN权限不足导致403错误。

解决方案

1. 为Workflow添加明确的写权限

默认情况下,GITHUB_TOKEN在push触发的Workflow中仅拥有读权限,需要显式赋予内容写权限。修改你的gh-pages.yml,在jobs.deploy下添加permissions配置:

jobs:
  deploy:
    runs-on: ubuntu-latest
    # 添加权限配置
    permissions:
      contents: write
    steps:
      # 原有步骤保持不变
      - uses: actions/checkout@v4
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 8.0.x
      - name: Publish
        run: dotnet publish MyBlazorApp/MyBlazorApp.sln -c:Release -o:publish -p:GHPages=true
      - name: Deploy
        uses: peaceiris/actions-gh-pages@v4.0.0
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: publish/wwwroot
          force_orphan: true

2. 检查仓库GitHub Pages配置

  • 进入仓库的Settings > Pages页面
  • 确认Source选项已选择gh-pages分支(若该分支尚未存在,Action会自动创建,但需权限允许)
  • 确保分支访问设置匹配仓库类型(公开仓库默认配置即可,私有仓库需对应调整)

3. 组织仓库额外配置(若适用)

如果仓库属于组织,需检查组织级别的Action权限:

  • 进入组织的Settings > Actions > General页面
  • 在"Workflow permissions"区域,选择Read and write permissions,确保允许仓库Workflow拥有写权限

4. 备选方案:使用Personal Access Token(PAT)

若上述方法无效,可使用PAT替代默认GITHUB_TOKEN:

  1. 创建PAT,勾选repo权限(完整仓库访问权限)
  2. 进入仓库的Settings > Secrets and variables > Actions,添加新密钥GH_PAT并填入PAT值
  3. 修改Workflow的Deploy步骤:
- name: Deploy
  uses: peaceiris/actions-gh-pages@v4.0.0
  with:
    github_token: ${{ secrets.GH_PAT }}
    publish_dir: publish/wwwroot
    force_orphan: true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 05:15:11