我有一个Laravel应用程序,该应用程序具有一些集成测试,并且该项目已使用Docker Compose进行了Docker化,它由5个容器组成:php-fpm
,mysql
,redis
,{{1} }和nginx
本身已经安装了workspace
和php-cli
(就像 Laradock )一样。我想在composer
在CI流程中运行时运行测试。我不得不提到我的CI服务器是GitLab CI。
基本上,我通过在终端中运行以下命令在本地系统上运行测试:
test stage
这是我的问题:在没有运行容器的情况下如何在测试阶段运行这些测试?在这种情况下,最佳做法是什么?
我也遵循了this documentation of GitLab,但似乎不适合使用Docker-in-Docker或Docker套接字绑定。
答案 0 :(得分:0)
首先,使用gitlab ci运行docker-in-docker
是绝对可以的。如果您不想或不需要深入研究kubernetes
,这是一个很棒的方法。共享Docker套接字当然会以某种方式降低隔离级别,但是就您主要在VPS容器上运行作业而言,我个人并不认为这个问题很关键。
前一段时间,我在this帖子中回答了类似的问题。