You need to enable JavaScript to run this app. 推送至Digital Ocean时Github Actions报错:OAuth应用无workflow权限更新工作流
优惠活动
大模型
产品
解决方案
定价
更多

推送至Digital Ocean时Github Actions报错:OAuth应用无workflow权限更新工作流

问题根因

这个报错发生在本地代码推送到GitHub仓库的阶段,和你的GitHub Actions workflow配置、DigitalOcean侧的部署配置完全无关。原因是你本地Git访问GitHub所用的凭证没有开通workflow权限,而你本次推送要修改.github/workflows/目录下的Workflow配置文件,GitHub对这类文件的修改要求凭证额外持有Workflow权限。

排查解决步骤

  • 第一步先确认本地仓库的远程协议,执行命令:
    git remote -v
    如果返回的origin地址是https://开头,说明用的是HTTPS协议;如果是git@开头,说明用的是SSH协议。
  • 对应不同协议的解决方案:

情况1:使用HTTPS协议

如果你用个人访问令牌(PAT)作为凭证

  1. 打开GitHub个人设置,进入「开发者设置」-「Personal access tokens」页面
  2. 找到你当前正在使用的PAT,勾选workflow权限后保存更新
  3. 清除本地Git凭证管理器存储的旧令牌:
    • Windows系统:打开「凭据管理器」-「Windows凭据」,删除所有GitHub相关的凭证条目,下次推送时重新输入新的PAT即可
    • Mac系统:打开「钥匙串访问」,搜索GitHub删除对应旧凭证,下次推送时重新输入新的PAT即可

如果你用OAuth授权的工具(如GitHub Desktop、Git Credential Manager)登录

  1. 打开GitHub个人设置,进入「应用」-「已授权的OAuth应用」页面
  2. 找到你所用的对应工具,进入详情页勾选workflow权限,重新完成授权即可

情况2:使用SSH协议

  1. 打开GitHub个人设置,进入「SSH和GPG密钥」页面
  2. 找到你当前使用的SSH密钥,勾选「Allow write access to GitHub Actions workflows」选项后保存即可

快速验证方法

你可以直接在GitHub仓库的网页端,手动上传你的main.yaml文件到.github/workflows/目录下,如果能上传成功,即可完全确认是本地凭证权限问题,按上述步骤调整即可。

小提示:推送问题解决后如果Workflow运行失败,可以检查下你的YAML格式:steps下的每个任务需要用-开头声明为数组项,调整后即可正常识别任务配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 15:18:03