在CI流程中运行多容器应用程序测试

时间:2019-02-02 11:26:24

标签: docker docker-compose continuous-integration

我有一个Laravel应用程序,该应用程序具有一些集成测试,并且该项目已使用Docker Compose进行了Docker化,它由5个容器组成:php-fpmmysqlredis,{{1} }和nginx本身已经安装了workspacephp-cli(就像 Laradock )一样。我想在composer在CI流程中运行时运行测试。我不得不提到我的CI服务器是GitLab CI。

基本上,我通过在终端中运行以下命令在本地系统上运行测试:

test stage

这是我的问题:在没有运行容器的情况下如何在测试阶段运行这些测试?在这种情况下,最佳做法是什么?

我也遵循了this documentation of GitLab,但似乎不适合使用Docker-in-Docker或Docker套接字绑定。

1 个答案:

答案 0 :(得分:0)

首先,使用gitlab ci运行docker-in-docker是绝对可以的。如果您不想或不需要深入研究kubernetes,这是一个很棒的方法。共享Docker套接字当然会以某种方式降低隔离级别,但是就您主要在VPS容器上运行作业而言,我个人并不认为这个问题很关键。

前一段时间,我在this帖子中回答了类似的问题。