Laravel应用程序CI与Docker&Gitlab

我试图优化一个新的laravel应用程序的工作stream程,我想尝试docker和gitlab-ci

但是,我正在打扰我如何正确pipe理。 这是我认为如何pipe理我的应用程序。

  • 主版本上的每个提交都会运行一个dind gitlab runner。
  • 将运行docker-compose-test.yml进行检查回归
  • 如果testing成功,将build立一个新的形象,并推入私人registry
  • 运行一个脚本获取生产服务器中的应用程序的新形象(通过SSH,但它是相同的服务器)

但是这是骗局:

  • app1的DockerFile是一个纯粹的应用程序代码容器,坏主意。 但是,如果我想运行app1十次我将有10 ngxin服务(1 /容器)?

你是怎么做到的?

CI示例