You need to enable JavaScript to run this app. AWS CodeBuild并发数设为1时新构建未入队列,是GitHub webhook还是CodeBuild问题?
优惠活动
大模型
产品
解决方案
定价
更多

AWS CodeBuild并发数设为1时新构建未入队列,是GitHub webhook还是CodeBuild问题?

AWS CodeBuild构建不排队问题排查结论

该问题两种可能性都存在,优先排查CodeBuild侧配置,再校验GitHub webhook配置即可定位根因:

CodeBuild侧常见触发原因

  • 你当前的架构是单PR对应独立CodeBuild项目:按你的流程,PR创建时通过Terraform新建环境,每个PR会生成独立的CodeBuild项目,每个项目独立计算并发配额和队列长度。如果是同一个PR内提交代码触发的构建未入队,首先检查两个配置项:
    1. 是否开启了重复构建过滤:CodeBuild默认会自动丢弃1小时内针对同一源代码哈希的重复构建请求,如果你提交的是空提交、rebase后内容无变更的提交,会被直接过滤,不会进入队列
    2. 是否设置了队列超时参数:检查CodeBuild项目的queuedTimeoutInMinutes参数,如果该值设置小于你构建的平均排队等待时长,排队中的构建会被自动终止,不会展示在队列列表中
  • 如果你是所有PR共用同一个CodeBuild项目,要确认你设置的并发数1是项目级并发限制还是账户级并发限制:账户级并发配额如果被其他业务的CodeBuild项目占用,当前PR的构建请求会直接返回超限错误,不会计入当前项目的排队队列

你提到的官方规则「队列中最大构建数量为并发构建限额的5倍」,仅适用于已经被CodeBuild成功接收、且没有命中任何过滤规则的有效构建请求,被拦截或过滤的请求不会计入队列。

GitHub webhook侧常见触发原因

  • 检查GitHub仓库webhook的投递日志:如果每次PR提交代码后,webhook的请求响应码不是200,说明请求没有成功送达CodeBuild,自然不会生成构建任务
  • 确认webhook的触发事件配置:需要同时勾选Pull request opened和Pull request synchronize两个事件,后者才是PR有新代码提交时会触发的事件,漏选的话提交代码不会触发新的构建请求

你可以先查看CodeBuild的CloudTrail日志,确认每次提交后是否有对应的构建请求到达CodeBuild,如果有请求记录但未入队就是CodeBuild侧配置问题,如果没有请求记录就是GitHub webhook配置问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 15:12:01