如何在Bitbucket管道中运行的Docker容器中使用sbt和ivy2缓存

如何在Bitbucket管道中运行的Docker容器中使用sbt和ivy2缓存,docker,sbt,ivy,bitbucket-pipelines,Docker,Sbt,Ivy,Bitbucket Pipelines,BB管道允许您在构建之间保留SBT和Ivy缓存: 您可以使用Docker服务从测试中动态运行容器: 但是,如果您尝试使用在生成设置步骤中下载的缓存运行容器,即: Cache "sbt": Downloading ... Cache "ivy2": Downloaded 363.2 MiB in 9 seconds Cache "ivy2": Extracted in 2 seconds 在使用Docker服务的步骤中,在bitbucket pipelines.yml中定义,类似于 -

BB管道允许您在构建之间保留SBT和Ivy缓存:

您可以使用Docker服务从测试中动态运行容器:

但是,如果您尝试使用在生成设置步骤中下载的缓存运行容器,即:

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
复制到克隆目录看起来不是一个优雅的解决方案。在BB管道上运行的Docker映像中,应该使用哪种方式来使用这些缓存