使用actions/checkout@v4在自托管运行器克隆私有仓库时遇仓库未找到错误
排查自托管运行器检出私有仓库失败的额外要点
网络环境限制
自托管运行器所在网络可能有防火墙、代理或出站规则拦截了GitHub仓库访问。直接在运行器上执行git clone https://<你的PAT>@github.com/some-name/test.git测试克隆,确认网络层面是否能正常连通。Git配置异常
检查运行器的Git全局配置,比如错误的credential.helper设置可能导致PAT无法生效。执行git config --list查看配置,可临时移除 credential helper 后再测试克隆操作。PAT权限与仓库归属匹配
若目标仓库属于组织,需确认你的账户在组织内有足够权限,且PAT已勾选repo权限(包含组织仓库访问权限);同时检查PAT是否过期或被撤销。checkout参数细节校验
确认repository参数是owner/repo的完整格式,some-name必须是正确的仓库所有者(个人用户名或组织名);确保token参数是纯PAT字符串,无多余空格或特殊字符。运行器用户目录权限
运行器进程的执行用户可能没有权限在指定的path目录下写入文件。尝试修改path为运行器用户有权限的目录,或给目标目录添加写入权限后重试。残留状态清理
运行器上可能存在旧的Git缓存或残留仓库信息引发冲突。可在checkout步骤前添加清理操作:- name: Clean workspace run: rm -rf $GITHUB_WORKSPACE/*或在checkout时启用
clean参数:uses: actions/checkout@v4 with: # 其他参数... clean: true组织级运行器权限设置
若运行器注册到组织,需确认组织设置中允许该运行器访问目标私有仓库,且无组织层面的仓库访问限制策略拦截运行器请求。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

