0

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

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

马上

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

我想要达到的目标

Server1       Server2       Server3
Piece1        Piece1        Piece1
Piece2        Piece3        Piece4
4

2 回答 2

0

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

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

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

于 2013-09-21T11:40:33.190 回答
0

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

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

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

于 2013-09-22T00:21:07.880 回答