如何解决AWS Amplify设置BUILD_TIMEOUT后构建仍30分钟超时的问题
AWS Amplify 全静态预渲染站点构建超时解决办法
首先排查配置生效问题
你设置的BUILD_TIMEOUT未生效,是因为AWS Amplify默认会优先读取amplify.yml内的环境变量配置,仅在控制台配置不会覆盖默认值,且平台默认的账号级构建超时硬限制为30分钟,未申请调整的情况下无法超过该阈值:
- 先在项目根目录的
amplify.yml文件中显式声明超时变量,参考配置如下:
version: 1 env: variables: BUILD_TIMEOUT: 180 frontend: phases: build: commands: # 替换为你的原有构建命令 - npm run build artifacts: baseDirectory: out files: - '**/*' cache: paths: - node_modules/**/*
- 若需要超过30分钟的构建时长,提交AWS支持工单申请调整你的账号对应区域的Amplify构建超时上限。
从根源降低构建时长
调整超时只是临时方案,建议优先优化构建逻辑降低计算量:
- 拆分预渲染规则:将页面按更新频率分类,高频更新页面保留全量预渲染,低频/归档页面改为按需静态生成模式,不需要每次构建都生成全量页面
- 开启增量构建:配置Amplify构建缓存,将已生成的静态页面、依赖包缓存下来,每次仅构建新增/修改的页面,可降低90%以上的全量构建计算量
- 升级构建实例规格:在Amplify控制台构建设置中升级到更高CPU/内存的计算实例,提升单机构建速度,缩短整体耗时
极端场景替代方案
如果全量预渲染的需求无法调整,可直接绕过Amplify的构建环节:
- 在本地或者自托管的高配置CI环境中完成全量静态页面构建,将打包好的静态产物直接上传到Amplify进行托管,完全规避构建超时限制
内容的提问来源于stack exchange,提问作者Daniel Martinez
相关产品推荐
相关产品推荐

