Как использовать кэш-память sbt и ivy2 в контейнерах Docker, запущенных в конвейерах Bitbucket - PullRequest
1 голос
/ 09 апреля 2019

BB Конвейеры позволяют хранить кэш SBT и Ivy между сборками: https://confluence.atlassian.com/bitbucket/caching-dependencies-895552876.html

, и вы можете иметь сервис Docker для динамического запуска контейнеров из ваших тестов: https://confluence.atlassian.com/bitbucket/run-docker-commands-in-bitbucket-pipelines-879254331.html

Тем не менее, есливы пытаетесь запустить контейнер с использованием кэшей, загруженных на этапе настройки сборки, а именно:

Cache "sbt": Downloading
...
Cache "ivy2": Downloaded 363.2 MiB in 9 seconds
Cache "ivy2": Extracted in 2 seconds 

на вашем шаге с помощью службы Docker, определенной в bitbucket-pipelines.yml аналогично

  - step:
      name: My integration steps with Docker
      image: docker/compose:1.24.0
      size: 2x
      caches:
        - sbt
        - ivy2
      services:
        - docker
      script:
        - docker run -it -v ~/.ivy2:/root/.ivy2 alpine sh -c 'ls ~/.ivy2'

вы получаете ошибку:

docker: Error response from daemon: authorization denied by plugin pipelines: -v only supports $BITBUCKET_CLONE_DIR and its subdirectories.

Копирование ~.ivy2 в каталог клонов не выглядит элегантным решением.Каким образом предполагается использовать эти кэши в ваших собственных образах Docker, работающих на BB Pipelines?

...