假设我的应用程序分为4个部分,我想将其部署到3个服务器,每个服务器将包含2个部分,1个在所有服务器之间共享,1个特定于该服务器。如果我在1台服务器上克隆git repo,那么所有的部分都将被加载到那里。
我应该在代码中为每个部分创建一个git repo吗?我想如果我需要在将来创建额外的部分,那么使用或同步所有的回购将是痛苦的。
现在
Server1 Server2 Server3
Piece1 Piece1 Piece1
Piece2 Piece2 Piece2
Piece3 Piece3 Piece3
Piece4 Piece4 Piece4
我想要实现的目标
Server1 Server2 Server3
Piece1 Piece1 Piece1
Piece2 Piece3 Piece4
答案 0 :(得分:0)
您可以尝试为每个部分创建一个存储库,然后使用git子模块或子树来跟踪依赖关系。特定于服务器的部分包括共享存储库。
无论如何,这样一来,特定部分的存储库就会被固定到相应的服务器上。如果您想与其他服务器共享该存储库,它将无法工作。
我们在应用程序中使用它来进行依赖关系管理。您的“服务器”是我们的“应用程序”,其中每个应用程序都有自己的存储库,我们通过在该存储库中包含其他子模块来添加依赖项。
答案 1 :(得分:0)
我认为构建代码存储库是一个坏主意,完全基于它的部署方式。
如果每个组件都是真正的独立组件并且可以拥有自己的发布周期,那么通过各种方式将它们放入单独的存储库中。但是,更可能的情况是您有一个大型多层应用程序,在这种情况下,您最好为每个组件创建部署包。
您还没有提到您正在使用的技术,因此,如果您使用的是Linux,则创建RPM软件包并将其推送到yum存储库。然后,使用标准的“yum install”命令,每个组件都可以轻松安装。