大家好,我从来没有自动设置我的项目的布局,所以我请求帮助组织这一切。
有一个项目,采用 docker-compose 的微服务架构风格,一切都存储在 GitLab 上,存储库如下所示:
- ServiceA——服务A,存放源代码+
Dockerfile
- ServiceB——服务B,存放源代码+
Dockerfile
- ServiceC——服务C,存放源代码+
Dockerfile
git submodules
应用程序 - 使用+列出服务 (ServiceA...C) 本身docker-compose.yml
;
存储库中的所有docker-compose
服务都在中声明(除了它们的“模块”之外,还列出了完成图像中的 docker 服务),因此,要运行应用程序,只需执行docker-compose up -d --build
有2个环境:
- 暂存——验收环境,测试,无 ssh 访问
- 生产 - prod,可以通过 ssh 访问(当然最好不要接触 ssh)
我想做以下事情:
- 当我 update
master
-branch, repositoryApplication
时,更新会自动传递到 Staging 环境并更新应用程序。 - 在 Staging 环境中测试成功后,您可以单击
кнопочку
(确认发布)并将更改交付到 Production 环境(过程类似于 Staging 环境)。
现在是实际问题:)
如何组织这个过程? 也许由于缺乏经验,我错过了一些过程,但应该是。