用Docker编写驯服您的测试环境


昨天晚上,我刚刚在重型俱乐部会所的码头工人会议上做了一个有趣的小报告。演讲的视频应该很快就会上线,但在那之前,这里有一些内容的概述。

码头工人撰写

即使你还没有在生产中使用Docker,Docker Compose在你的开发和测试环境中也是非常有用的。Docker Compose基本上是一个同时运行任意数量的Docker容器的工具,这些容器相互链接,并以简单的YAML文件中指定的任何方式进行配置。

服务依赖关系

开发/测试环境中Docker Compose的一个用例是管理服务依赖。例如,如果您需要一个LESS编译器、一个linter、一个数据库和一个应用服务器都在您的开发环境中运行,您可以简单地用一个docker-composite . yml来管理它们。如果您熟悉像Foreman这样的工具来管理您的开发环境中的多个进程,Docker Compose可以做非常类似的工作,但是除了启动每个进程之外,它还在自己的Docker容器中运行每个服务,这意味着所有的依赖关系都是非常独立的。这里有一个视频示例,是我昨晚演讲中提到的一个用例(视频中没有声音):

复杂测试服务

除了管理应用程序复杂的服务依赖,Docker Compose还可以帮助运行复杂的测试过程。分布式压力测试或复杂的安全扫描浮现在脑海中,但即使是普通的浏览器测试也包含一系列相当复杂的交互过程,这些过程的设置和思考都很复杂。Docker Compose有助于为这种设置提供一些清晰的结构,以及开发和测试/配置项环境之间的一致性。这是另一个快速的视频演示(同样,没有声音):

这是在开发和测试环境中使用Docker Compose的基础,包括CircleCI。上面视频中使用的所有代码都可以在GitHub上找到:

演示中的幻灯片还available on SlideShare

感谢阅读!别忘了查看CircleCI docs on Docker了解如何启动和运行CircleCI,满足您所有的码头工人需求!