由多个存储库

时间:2018-04-19 10:20:56

标签: git docker

鉴于以下结构;

├── api/                - A PHP application, to have its own repository
├── docker/             - Docker configuration for shared containers (MySQL, Nginx)
├── docker-compose.yml  - Defines all of the services
└── web-client/         - A standalone Angular application, to have its own repository

目前整个应用程序位于一个存储库中,但我希望拆分为单独的存储库。发展尚未开始,因此维持任何历史等都没有问题。

首先,定义根级docker-compose文件中的所有服务是解决此问题的最佳方式,或者apiweb-client是否应该更加孤立自己的docker-composedepends_on {1}},因此完全分开管理?如果分开,是否仍然可以有一个" docker-compose.yml"另一?

其次,为此管理存储库的最佳方法是什么?根级代码(docker/import tkinter from tkinter import * root = tkinter.Tk() root.configure(background = "#66ffdd") #here you can use any hex color code or just leave it blank and configure as default root.title("Voice Program") #use the name of your program (this is the window header/title) root.geometry("800x500") #these are your window dimensions welcome = tkinter.Message(root, text = "Welcome to my program") button = tkinter.Button(root, text="This button", command=print("hello")) #here insert a function for the button to perform i.e quit welcome.pack() button.pack() #packing presents your variables to the window - you can also use other geometry managers like grid )应该存在于一个存储库中,但这也取决于存在的其他两个存储库,可能是作为子级。我查看了git子模块,但似乎父存储库必须绑定到子节点中的特定提交,这可能会使多个并行功能难以处理?

1 个答案:

答案 0 :(得分:3)

我的建议如下:

├── api/
       |___ .git
       |___ Dockerfile
       |___ ... api src ...
├── docker/             - Docker configuration for shared containers (MySQL, Nginx)
├── docker-compose.yml  - Defines all of the services
└── web-client/
        |______ .git
        |______ Dockerfile
        |______ ... web-client src ...

每个应用程序都应该封装它的源代码加上它的Dockerfile,它们都存在于同一个git repo中。

然后docker-compose.yml文件将使用它们,例如:

(...)
services:
  api:
    build: ./api/
(...)
  web-client:
    build: ./web-client/

这是我经常看到的方式。

如果您想使用多个docker-compose文件,您可能需要查看以下内容:https://docs.docker.com/compose/extends/