GitHub Enterprise Actions拉取公共仓库遇凭证错误及参数问题
问题分析与解决
「Bad credentials」错误确实具有误导性
这个错误的根源并非你的PAT凭证无效,而是checkout动作未正确切换到公共GitHub服务器,导致用公共GitHub的PAT去请求你的GitHub Enterprise服务器,企业服务器无法识别该凭证,进而抛出凭证错误。日志里显示仓库地址被设置为企业GitHub地址,也印证了这一点。
你的checkout动作配置存在错误
你在with字段里使用了github-server-url参数,但actions/checkout@v3的合法输入参数是server-url,而非github-server-url——后者是GitHub Actions的环境变量名,不是checkout动作的输入参数。这就是你收到参数非法警告的原因,同时该设置未生效,导致动作默认使用了GitHub Enterprise的服务器地址。
正确的配置方式
你可以通过两种方式修正配置:
方式1:使用checkout动作的server-url输入参数
- name: Check out the public repository uses: actions/checkout@v3 with: repository: public_org_name/public_git_repo_name token: ${{ secrets.PAT }} server-url: https://github.com
方式2:通过环境变量GITHUB_SERVER_URL指定服务器
- name: Check out the public repository uses: actions/checkout@v3 with: repository: public_org_name/public_git_repo_name token: ${{ secrets.PAT }} env: GITHUB_SERVER_URL: https://github.com
两种方式都能让checkout动作正确指向公共GitHub服务器,使用你的公共PAT完成认证拉取仓库,解决「Bad credentials」错误。
内容的提问来源于stack exchange,提问作者hmdevno
相关产品推荐
相关产品推荐

