我公司有两个开发站点合作为客户开发软件,我的工作是从两个站点收集修复以使我们公司的供应商发布,并将其交付给客户发布中心。(客户发布中心使用站点 C 中的另一个 git 服务器,除了我之外,还有其他公司的 CM 会提供类似的供应商发布到客户发布中心进行发布。)
经过自学,现在我在站点 A 上成功创建了 gerrit/git 系统,站点 A 的开发人员可以使用 gerrit 克隆代码/查看更改没有问题,但是站点 B 的开发人员抱怨 gerrit 站点 A 的性能不可接受他们,克隆/推/拉需要几个小时,不可能做日常工作。
所以他们建议在站点 B 设置某种镜像 git repo,然后他们可以更有效地从镜像服务器克隆代码,同时站点 B 的开发人员也需要在站点 A 中使用 gerrit 进行代码审查,因为我需要从站点 A 的 code_develop 分支收集所有站点 A/B 更改,然后制作公司供应商版本,并将其推送到站点 C,客户在此发布主要产品。
然后以下是我不确定该怎么做的问题:
如何在站点 B 中创建镜像 git 存储库?
是否只是在站点 B 的服务器上使用命令“git clone --mirror siteA_admin@siteA_IP:29418/product_code”?创建站点 B 镜像分支后,在站点 A 的 gerrit 存储库和站点 B 中的镜像存储库之间保持更新的最佳有效方法是什么?使用一些钩子?还是 git mirror repo 会自动更新?还是站点 B 中的任何人都必须每次都手动获取?
有效及时地更新站点 B 开发人员对 gerrit 的评论的最佳方法是什么?开发人员应该使用一些命令直接推送到站点 A 中的 gerrit 吗?或者开发人员应该只是将代码推送到镜像仓库,然后再从镜像推送到站点 A?我迷路了..需要你的支持。
因为客户 repo C 与我们公司的 git repo 不同,我应该如何将代码交付到发布中心?我应该将供应商版本复制到从siteC克隆的git repo,然后再次推送吗?或者我可以使用某种命令将代码直接从站点 A 工作存储库推送到站点 C git 发布存储库吗?
在站点 C 的客户发布中心发布新版本后,我应该如何保持更新站点 A 和站点 B git repos?
PS:由于本人是国内新手,为了避免时差带来不必要的沟通费用,请尽量给点建议,非常详细。:p 非常感谢您提前提供的所有帮助。