AWS CodeBuild DOWNLOAD_SOURCE阶段出现invalid pkt-len错误求助
我之前也碰到过这个一模一样的问题!结合你已经排查的几个点(仓库本地克隆正常、旧版本构建失败、跨仓库也出现相同错误),说明问题大概率不在CodeCommit仓库本身,而是CodeBuild的环境、权限或网络配置出了问题,试试下面这些解决方案:
检查CodeBuild服务角色权限:
虽然你能本地克隆仓库,但CodeBuild使用的服务角色可能权限有变更。确认角色是否包含codecommit:GitPull权限,并且策略没有被意外修改——可以直接给角色附加AWSCodeCommitFullAccess策略做快速测试,排除权限问题。验证构建环境的Git版本兼容性:
这个错误常和Git版本与CodeCommit的通信兼容有关。你可以在buildspec.yml的install阶段添加命令:install: commands: - git --version查看当前镜像的Git版本,然后尝试切换不同的CodeBuild镜像(比如从Amazon Linux 2切换到Ubuntu 22.04,或者反之),很多情况下更新Git版本就能解决这个数据包长度错误。
排查VPC/网络配置(如果项目用了VPC):
如果你的CodeBuild项目配置了VPC,检查安全组是否允许**出站HTTPS(443端口)**访问CodeCommit服务;如果用了VPC端点,确认端点的安全组和路由配置正确,没有拦截Git的通信数据包。清理或禁用CodeBuild缓存:
缓存文件损坏偶尔会引发奇怪的克隆故障。你可以在项目设置里临时禁用缓存,或者手动清理已有的缓存,然后重新触发构建,看是否能解决问题。检查AWS区域服务状态:
虽然概率不高,但可以去AWS控制台的Service Health Dashboard查看对应区域的CodeCommit和CodeBuild服务是否正常,临时的服务波动也可能导致这类异常。
内容的提问来源于stack exchange,提问作者dheffx

