容器docker并行计算
有时,当您在CI环境上运行测试时,您希望并行运行测试。 这种并行性是在诸如Maven或Gradle之类的构建工具中或通过使用Jenkins插件编程的。
如果您将Docker用作提供对应用程序的外部依赖关系(例如数据库,邮件服务器,ftp服务器等)的测试工具,则可能会发现一个大问题,原因可能是
Docker Hos t是其中之一,当并行运行测试时,所有这些都将尝试启动具有相同名称的容器。 因此,当您(并行)启动第二个测试时,由于尝试在相同的Docker主机上启动两个名称相同或两个容器中具有相同绑定端口的容器,因此将出现关于该冲突容器名称的失败。
至此,您可以做两件事:
- 每个并行测试可以有一个Docker主机 。
- 您可以重用相同的Docker主机并使用Arquillian Cube Star Operator 。
Arquillian Cube是Arquillian扩展,可用于在测试中管理Docker容器。
要使用Arquillian Cube,您需要在计算机上运行的Docker守护程序(它可以是本地的,也可以不是本地的),但是可能在本地。
Arquillian Cube提供了三种定义容器的不同方法:
- 定义docker-compose文件。
- 定义容器对象。
- 使用容器对象DSL。 </