GitHub Actions部署React到GitHub Pages的git身份配置方法
问题原因
gh-pages部署时会在本地创建git提交、推送到远程gh-pages分支,GitHub Actions的Ubuntu运行器默认没有配置git提交所需的用户身份信息,就会触发Author identity unknown报错。
修复方案
你只需要在执行部署命令前,在运行器中配置好git身份,同时给工作流开放足够的内容推送权限即可,不需要额外使用个人访问令牌,GitHub默认提供的工作流令牌就能完成部署。
调整后的工作流文件
name: Github Pages on: push: branches: ["master"] pull_request: branches: ["master"] workflow_dispatch: # 给默认工作流令牌开放仓库内容写入权限,必须配置 permissions: contents: write jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v2 with: node-version: 16 # 建议指定固定Node版本,避免依赖兼容问题 - name: Deploy run: | # 部署前配置git提交身份 git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" yarn install CI=false yarn deploy
你也可以把上面的用户名、邮箱替换成你自己的GitHub账号信息,对部署结果没有影响。
其他说明
- 你之前尝试配置git身份不生效,大概率是配置位置不对,或者没有给工作流开放内容写入权限
- 不需要给
actions/checkout传入自定义token,使用默认配置即可 - git配置命令不需要加
--global参数,当前仓库级配置就能满足gh-pages的使用需求 - 部署完成后记得去仓库设置页,将GitHub Pages的发布源设置为
gh-pages分支,否则页面无法正常访问
内容的提问来源于stack exchange,提问作者Anton Thestrup Jørgensen
相关产品推荐
相关产品推荐

