dockerunit testing设置

我想为我的产品设置一个unit testing环境。 我有一个在Lua中使用mysql和redis的nginx上构build的web应用程序。 我认为docker工人对这个很好,虽然我对docker工人是新手 。 我的应用程序运行在centos服务器(生产服务器)上。

我打算为mysql,redis和webapp设置不同的容器,然后在我的mac(我的开发机器是MAC)或VMtesting它中写UT应用程序(使用Busted框架对Lua进行unit testing)。 UT应用程序将与docker容器nginx进行通信,nginx将使用容器mysql和redis。 这个好吗 ? 如果是的话,有人可以指导我如何做到这一点? 也许一些很好的链接? 如果不是的话,有什么更好的办法。 我已经尝试过使用stream浪汉,但花了太多的时间,这不应该在我的UT的情况下。

举一个例子,我们如何设置我们的项目模板,你可能会看看phundament/app及其testing设置。

我们正在使用一个dockerized GitLab安装和一个自定义的runner ,它可以执行docker-compose

注意! 跑步者本身在单独的Docker主机上运行。

我们使用docker-compose.yml来定义堆栈中的服务 ,并对开发和testing进行调整。

CIconfiguration已经过优化,可处理多个隔离堆栈的并发testing,只需指定一个自定义COMPOSE_PROJECT_NAME即可完成。

关于我们的testing过程的一些深入文档以及关于docker docker-compose和dockerized CI的有用信息。

  • #testing自述文件
  • #testing文档
  • CIbuild立
  • 扩展服务和撰写文件
  • Docker-in-Docker的CI?

最后, Travis CI也支持Docker,但是我还没有testing过这个方法。

如果您是基于Docker的CI新手,请查看Drone:

  • 官方网站
  • Github回购
  • 教程

这个解决scheme有一些缺点(如图像的大小),但它会让你离开的理由。

Interesting Posts