Java Maven项目Docker集成testing

我们有一个很大的多模块maven项目,使用货物来启动一个tomcat和一些战争,一个插入sql数据到postgres数据库的插件,然后使用黄瓜我们运行集成testing套装。

我正在读关于Docker的很多内容,我可以玩弄它。 所以在这里我的问题,

Docker可以取代使用货物的集成testing吗?

有什么好处?

与使用货物的部署相比,性能如何?

一个用postgres和tomcat映像启动容器的套件是否可以改善构build时间?

希望有人能帮助我,因为我很喜欢docker工人!

  • Docker可以取代使用货物的集成testing吗?

是持续集成使用docker 。 这个docker集装箱可能派上用场。

  • 与使用货物的部署相比,性能如何?

性能将大致相同,也许开始慢一点,这取决于你在docker集装箱做什么。 Docker更多的是隔离性和可重复性而不是性能。 它比虚拟机性能更高,但本地主机上不超过货物。

  • 用一个postgres和tomcat镜像启动容器的套件是否可以缩短构build时间?

也许,取决于你现在在做什么。 你可以在你的docker容器中创build一个已知的状态,如果你以前手动创build这个状态,那么你可能会发现构build速度更快。

docker工的真正好处是你可以在你的postgress数据库中拥有一个众所周知的状态,并且testing总是运行在已知状态下。 此外,您不必让团队中的每个人都在本地安装postgress。 只需要安装docker,然后其余的将被自动化。 请经常使用docker工人与Vagrant一​​起,以便即使安装docker工人也可以脚本化和自动化。