设置用于SBT增量编译的codebuild输出源文件夹

时间:2019-04-01 14:42:17

标签: sbt aws-codebuild

我很好奇您是否可以控制AWS CodeBuild中的输出“ src”文件夹。

特别是,我在CodeBuild中调试构建时看到了这一点。

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

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

1 个答案:

答案 0 :(得分:0)

经过更多调试后,我设法将6分钟的构建时间降低到了1:30s。

尽管您无法设置或覆盖CODEBUILD_SRC_DIR,但我在buildspec中发现了解决方法。

这是我的buildspec现在的样子,在代码构建中启用了本地缓存。

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文件夹