使用bitbucketpipe道进行dropwizard + mysql + maven + docker项目的持续集成/交付

我试图为我的一个项目(从本地mac OS开发到生产安装 – 可能是Heroku或AWS或自己的空白VM)设置开发和部署过程。

这是目前的设置:

  • 使用dropwizard的Java微服务 – 在本地mac OS中开发
  • 一些python代码,但不是服务和用户所面对的
  • MySQL数据库
  • Maven作为构build工具
  • bitbucket git VCS

我已经在Mac本地构build了一个示例dropwizard项目,然后使用maven-docker-plugin创build了一个docker镜像。 这工作得很好,我把它推到dockerhub仓库。 我的testing环境是一个空白的虚拟机(我已经安装了Ubuntu 14.4,我试图find一种方法来自动部署这个镜像到虚拟机,每当我做一个代码推git。我该怎么做?Bitbucketpipe道选项?

理想情况下,如果所有的集成testing都通过了,然后将其发送到testing服务器上的另一组testing环境,那么理想情况下,我将dockerize(microservices,mysql等)的所有东西都部署到代码推送环境中。 任何想法如何以一个不那么复杂的方式做到这一点,将不胜感激。

PS:我正在考虑在testing中为mysql运行一个只有数据的容器,并分别进行操作,以便在新的推送时数据不会丢失。 我读到这是使用docker集装箱保留生产数据的推荐方法。