我parallel_tests
在一个 docker 容器中执行,例如一个主机命令。
parallel_tests将检查资源,并为每个内核生成一个进程,在我的实例中,我有 8 个可用内核:
# docker info
Containers: 5
Images: 75
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 85
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-49-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 8
Total Memory: 15.61 GiB
Name: camacho
ID: ZOYN:QGDO:UGMJ:TDDM:WEEM:ZEHJ:4OKB:V5WR:RGCL:NOKG:F5W5:SDEL
WARNING: No swap limit support
在没有 docker 的同一台机器上,很明显这些测试是并行运行的,并且会耗尽所有可用资源(正是我们想要的 CI)。
在 docker 中执行时,似乎所有内容都在单个进程中运行,并且结果仅同步来自每个测试运行程序(相比之下它要慢得多)。
我是否需要运行并行主机命令才能使用资源?我可以设置一个选项以允许我的 docker 命令派生更多并行进程吗?