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

问题描述 投票:0回答:1

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

具体来说,我在调试CodeBuild中的构建时看到了这一点。

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

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

sbt aws-codebuild
1个回答
0
投票

经过一些调试后,我已经设法将我的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文件夹

© www.soinside.com 2019 - 2024. All rights reserved.