集成testing与Docker和Bitbucketstream水线

我想运行我的集成testing作为Bitbucketpipe线 CI的一部分。 我的集成testingtesting了一个运行在空MongoDB数据库上的NodeJS后端。 为了实现这个function,我想创build一个Docker镜像,Bitbucketpipe道可以从Docker镜像库中获取。

我的bitbucket-pipelines.yml将是这样的:

 image: <my image with nodejs and a mongodb linked to it> pipelines: default: - step: script: - npm test 

现在我只需要创build一个configuration正确的nodejsmongodb nodejs 。 我可以通过创build以下docker-compose.yml文件来构build环境:

 version: "2" services: web: build: . volumes: - ./:/app ports: - "3000:3000" - "9090:8080" links: - mongo mongo: image: mongo ports: - "27018:27017" 

我的Dockerfile:

 FROM node:7.9 RUN mkdir /app WORKDIR /app COPY package.json /app RUN npm install COPY . /app EXPOSE 3000 CMD ["npm", "run", "dev"] 

问题 – 问题

我可以在本地运行docker撰写我的环境,但是如何才能制作单个图像,而不是使用docker撰写,因此我可以公开发布该映像以便在我的Bitbucket CI中使用它? 对于docker我还是很新鲜,但是我已经从文档中明白了,试图在我的nodeJS镜像上安装MongoDB是一个红旗。

Bitbucketpipe道还没有对docker撰写的本地支持。

但是,您可以在bitbucket-pipelines.yml中定义最多3个服务。 文档可在以下urlfind: https : //confluence.atlassian.com/bitbucket/service-containers-for-bitbucket-pipelines-874786688.html