我很好奇你是否可以控制AWS CodeBuild中的输出“src”文件夹。
具体来说,我在调试CodeBuild中的构建时看到了这一点。
/codebuild/output/src473482839/src/github.....
我希望能够设置/更改/删除该路径的src473482839
部分,因为我有一种感觉它导致我的sbt重新编译我的scala源文件,虽然我使用CodeBuilds新的localcache在构建之间缓存我的目标文件夹,编译类的规范路径在构建之间发生变化,这就是我suspect导致问题的原因
经过一些调试后,我已经设法将我的6分钟构建降低到1:30秒。
虽然你无法设置或覆盖CODEBUILD_SRC_DIR
,但我在我的buildspec中找到了解决方法。
这就是我的buildspec现在的样子,在codebuild中启用了本地缓存。
version: 0.2
phases:
pre_build:
commands:
- mkdir -p /my/build/folder/
- cp -a ${CODEBUILD_SRC_DIR}/. /my/build/folder
build:
commands:
- cd /my/build/folder
- sbt compile test
cache:
paths:
- '/root/.ivy2/cache/**/*'
- '/root/.cache/**/*'
- 'target/**/*'
- 'any other target folders you may need'
我必须做的关键改变是在pre_build阶段复制源(缓存的目标目录),并从新的静态目录中更改目录和编译
我希望这可以帮助其他人,直到CodeBuild允许一个人设置/覆盖CODEBUILD_SRC_DIR
文件夹