在Bitbucket中运行测试容器

问题描述

我正在向集成测试中添加Testcontainers。在本地,一切正常。为了使其在我的Bitbucket管道上运行,我创建了以下(简化)的bitbucket-pipeline。yml:

image: maven:3.6.1

pipelines:
  default:
    - step:
      caches:
        - maven
      script:
        - export TESTCONTAINERS_RYUK_disABLED=true
        - mvn -B verify
  branches:
    master:
     - step:
       caches:
         - maven
       services:
         - docker
       script:
         - ..
deFinitions:
  services:
    docker:
      memory: 2048

但是当管道开始运行并执行测试时,docker服务似乎不存在:

Container startup Failed
org.testcontainers.containers.ContainerLaunchException: Container startup Failed
Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=postgres:12.4,imagePullPolicy=DefaultPullPolicy())
Caused by: java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration

解决方法

答案很尴尬。我忘记添加了

services:
     - docker

进入默认管道。因此,如日志所示,没有为非“ master”分支运行的docker服务。