如何在Bitbucket管道中运行的Docker容器中使用sbt和ivy2缓存
BB管道允许您在构建之间保留SBT和Ivy缓存: 您可以使用Docker服务从测试中动态运行容器: 但是,如果您尝试使用在生成设置步骤中下载的缓存运行容器,即:如何在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中定义,类似于 -
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映像中,应该使用哪种方式来使用这些缓存