我怎样才能使用`Git`部署大型应用程序的部分内容?

时间:2013-09-21 11:23:43

标签: git deployment version-control github

假设我的应用程序分为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

2 个答案:

答案 0 :(得分:0)

您可以尝试为每个部分创建一个存储库,然后使用git子模块或子树来跟踪依赖关系。特定于服务器的部分包括共享存储库。

无论如何,这样一来,特定部分的存储库就会被固定到相应的服务器上。如果您想与其他服务器共享该存储库,它将无法工作。

我们在应用程序中使用它来进行依赖关系管理。您的“服务器”是我们的“应用程序”,其中每个应用程序都有自己的存储库,我们通过在该存储库中包含其他子模块来添加依赖项。

答案 1 :(得分:0)

我认为构建代码存储库是一个坏主意,完全基于它的部署方式。

如果每个组件都是真正的独立组件并且可以拥有自己的发布周期,那么通过各种方式将它们放入单独的存储库中。但是,更可能的情况是您有一个大型多层应用程序,在这种情况下,您最好为每个组件创建部署包。

您还没有提到您正在使用的技术,因此,如果您使用的是Linux,则创建RPM软件包并将其推送到yum存储库。然后,使用标准的“yum install”命令,每个组件都可以轻松安装。