为SBT增量编译设置codebuild输出源文件夹

为SBT增量编译设置codebuild输出源文件夹,sbt,aws-codebuild,Sbt,Aws Codebuild,我很好奇您是否可以控制AWS代码构建中的输出“src”文件夹 具体来说,我在调试内置代码构建时看到了这一点 /codebuild/output/src473482839/src/github….. 我希望能够设置/更改/删除该路径的src473482839部分,因为我感觉这会导致我的sbt重新编译scala源文件,尽管我使用CodeBuilds new localcache在构建之间缓存我的目标文件夹,编译类的规范路径在构建之间更改,这就是我造成问题的原因经过一些调试后,我成功地将6分钟的构建时

我很好奇您是否可以控制AWS代码构建中的输出“src”文件夹

具体来说,我在调试内置代码构建时看到了这一点

/codebuild/output/src473482839/src/github…..


我希望能够设置/更改/删除该路径的
src473482839
部分,因为我感觉这会导致我的sbt重新编译scala源文件,尽管我使用CodeBuilds new localcache在构建之间缓存我的目标文件夹,编译类的规范路径在构建之间更改,这就是我造成问题的原因

经过一些调试后,我成功地将6分钟的构建时间缩短到1:30

尽管您无法设置或覆盖
CODEBUILD\u SRC\u 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_构建阶段复制源(缓存的目标目录),然后更改目录并从新的静态目录编译


我希望这能帮助其他人,直到CodeBuild允许一个人设置/覆盖
CodeBuild\u SRC\u DIR
文件夹

谢谢分享结果,我发现它很有用