CI / CD的项目结构战略

时间:2018-03-05 11:22:44

标签: docker continuous-integration docker-compose continuous-deployment

我正在开发一个使用Gitlabs CI / CD的项目。项目的每个部分都将作为单独的微服务在Docker容器中。 项目要素:

Project
|- Product Factory (console script)
|- Product Shipment (console script, sends product via email)
|- Product Website
|- API for Website
|- Database
|- Base (just `docker-compose.yml` file)

问题是什么?这是我的第一个使用Docker和Gitlabs CI / CD的项目,我想这样做"对"。

我想问一些有经验的开发人员,了解我的dev / deploy(你可以在下面阅读)的想法是好还是我遗漏了什么。

  • 每个项目元素(所有6个)都有自己独立的GIT仓库
  • 每个项目元素(当然)都有自己的Dockerfile
  • 在任何元素上git push之后,GitLab将启动一个运行器,从该GIT仓库中的最后一次提交构建Docker镜像并将其上传到Dockers Registry。它还不会将它部署到生产服务器。
  • 接下来,在上传Docker镜像后,跑步者将触发Base Repo构建过程(通过GitLabs API),该过程将登录到生产服务器,上传docker-compose.yml,下载最新图像并重新启动所有容器。

我对此想法的唯一担心是(例如)有时我可能会在项目的每个元素中更新Database布局和代码来使用它。在这种情况下,在未构建每个Project Elements Docker Image并将其上载到Registry之前,不应执行Base trigger

我花了几天时间阅读Dockers和GitLabs CI / CD文档,这就是我想出来的;)。你怎么想的?

0 个答案:

没有答案