我怎么能只使用“Git”部署大型应用程序的一部分



假设我的应用程序分为 4 个部分,我想将其部署到 3 个服务器,每个服务器将包含 2 个部分,1 个在所有服务器之间共享,1 个特定于该服务器。 如果我在 1 台服务器上克隆 git 存储库,所有部分都将加载到那里。

我应该为代码中的每个片段创建一个 git 存储库吗?我想使用或同步所有存储库会很痛苦,特别是如果我将来需要创建额外的部分。

马上

Server1       Server2       Server3
Piece1        Piece1        Piece1
Piece2        Piece2        Piece2
Piece3        Piece3        Piece3
Piece4        Piece4        Piece4

我想要实现的目标

Server1       Server2       Server3
Piece1        Piece1        Piece1
Piece2        Piece3        Piece4

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

无论如何,这样特定部分的存储库就会固定到相应的服务器上。如果要与其他服务器共享该存储库,它将不起作用。

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

我认为仅根据其部署方式来构建代码存储库是一个坏主意。

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

没有提到您正在使用什么技术,因此,如果您使用的是 Linux,请创建 RPM 软件包并将其推送到 yum 存储库。然后,使用标准的"yum install"命令,每个组件都变得易于安装。

最新更新