分布式团队的人工复制

Artifactory Replication for Distributed Teams

我的组织正在部署 Artifactory 供美国和印度的开发团队使用。目前,印度的团队经历了长时间的延迟,因为他们正在解决来自美国服务器的依赖关系;我想通过使用 Artifactory 复制在印度镜像 repo 来改进这一点。

复制文档明确指出 "Avoid Replication Loops",即 A -> B 和 B -> A。这基本上意味着您可以建立一个链,链中的第一个服务器实际上是 "master",应该将包发布到其中以复制到所有其他服务器。我们将使用美国服务器作为主服务器。

鉴于此,我们如何配置存储库 and/or 开发人员工作站(用于 NPM 和 NuGet),以便印度的开发人员可以从印度的服务器解决他们的依赖关系以加快开发时间,但仍然发布他们的工件到美国的服务器,以便复制能够正常工作?是配置工具(npm/nuget)从一个地方拉到另一个地方的问题吗?或者是否可以配置一个虚拟存储库以如上所述在本地拉取并远程推送,以便它对开发人员有效地透明?

因此,为了使其正常工作,您需要执行以下操作:

美国创建了以下存储库:

nuget-local

nuget-印度-本地

nuget-virtual --> 将两个 nuget 存储库添加到该虚拟存储库并将 nuget-local 设置为默认部署存储库。 这是您提供给开发人员用于解析和部署的存储库。

npm-local

npm-印度-本地

npm-virtual --> 将两个 npm 存储库添加到该虚拟并将 npm-local 设置为默认部署存储库。 这是您提供给开发人员用于解析和部署的存储库。

印度 创建了以下存储库:

nuget-local

nuget-usa-local

nuget-virtual --> 将两个 nuget 存储库添加到该虚拟存储库并将 nuget-local 设置为默认部署存储库。 这是您提供给开发人员用于解析和部署的存储库。

npm-local

npm-usa-local

npm-virtual --> 将两个 npm 存储库添加到该虚拟并将 npm-local 设置为默认部署存储库。 这是您提供给开发人员用于解析和部署的存储库。

复制配置:

美国:

nuget-local --> 将推送复制(本地到本地)设置为印度的 nuget-usa-local 存储库(我也建议在事件基础复制上)

npm-local --> 将推送复制(本地到本地)设置为印度的 npm-usa-local 存储库(我也建议在事件基础复制上)

印度:

nuget-local --> 将推送复制(本地到本地)设置为印度的 nuget-india-local 存储库(我也建议在事件基础复制上)

npm-local --> 将推送复制(本地到本地)设置为印度的 npm-india-local 存储库(我也建议在事件基础复制上)

这样您就可以避免双向限制,并且您的团队将在本地实例中拥有工件。

相关维基链接:

Push replication