Настройка исходной папки codebuild для инкрементальной компиляции SBT - PullRequest
0 голосов
/ 01 апреля 2019

Мне интересно, можете ли вы управлять выходной папкой "src" в AWS CodeBuild.

В частности, я вижу это при отладке сборки в CodeBuild.

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

Я бы хотел иметь возможность установить / изменить / удалить src473482839 часть этого пути, потому что у меня есть ощущение, что он заставляет мой sbt перекомпилировать мои исходные файлы scala, хотя я использую новый локальный кэш CodeBuild для кэширования мои целевые папки между сборками, каноническое изменение пути скомпилированного класса между сборками, что, как я подозреваю вызывает проблему

1 Ответ

0 голосов
/ 05 апреля 2019

После некоторой дополнительной отладки мне удалось уменьшить свои 6-минутные сборки до 1:30.

Хотя вы не можете установить или переопределить CODEBUILD_SRC_DIR, я нашел обходной путь в моей сборочной спецификации.

Вот так выглядит мой 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

...