You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CodeBuild的buildspec.yml从根目录迁移至子目录

问题

当前状态

CodeBuild原本正常运行,buildspec.yml位于代码根目录。当前目录结构:

buildspec.yml
net-core
└── net-core-api

迁移计划

计划将buildspec.yml迁移到子目录,目标结构:

net-core
└── net-core-api
    └── buildspec.yml

错误信息

更新路径指向新位置后,CodeBuild报错:

[Container] 2023/08/28 18:14:26 CODEBUILD_SRC_DIR=/codebuild/output/src2839811517/src
[Container] 2023/08/28 18:14:26 Phase complete: DOWNLOAD_SOURCE State: FAILED
[Container] 2023/08/28 18:14:26 Phase context status code: YAML_FILE_ERROR Message: stat /codebuild/output/src2839811517/src/net-core/net-core-api/buildspec.yml: no such file or directory

已尝试无效路径

  • net-core/net-core-api/buildspec.yml
  • ./net-core/net-core-api/buildspec.yml
  • /net-core/net-core-api/buildspec.yml

解决方案

1. 确认仓库内文件的实际状态

  • 本地执行git ls-files net-core/net-core-api/buildspec.yml,验证文件已被Git追踪
  • 登录代码托管平台查看仓库目录,确认buildspec.yml确实存在于net-core/net-core-api/路径下,未被.gitignore排除

2. 修正CodeBuild的Buildspec路径配置

在CodeBuild项目配置的Buildspec部分,填写相对于仓库根目录的路径:net-core/net-core-api/buildspec.yml

  • 不要添加开头的/,否则会被解析为服务器绝对路径,超出仓库挂载的CODEBUILD_SRC_DIR范围
  • 不要添加./,多余前缀可能引发解析异常

3. 检查路径大小写匹配

CodeBuild运行在Linux环境,路径区分大小写:

  • 确保配置中的路径大小写和仓库内实际路径完全一致(比如Net-Core和net-core是不同路径)

4. 清理缓存后重试

临时关闭CodeBuild项目的缓存配置,重新触发构建:

  • 缓存残留可能导致旧路径的缓存文件干扰新路径的解析,测试通过后可重新开启缓存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:53:14