Npm 分布式团队的人工复制

Npm 分布式团队的人工复制,npm,nuget,artifactory,Npm,Nuget,Artifactory,我的组织正在部署Artifactory,供美国和印度的开发团队使用。目前,印度的团队经历了长时间的延迟,因为他们正在解决来自美国服务器的依赖关系;我想通过使用人工复制来镜像印度的回购协议来改进这一点 复制文档清楚地说明了“避免复制循环”,即A->B和B->A。这基本上意味着您可以建立一个链,链中的第一台服务器实际上是“主服务器”,应将包发布到该链,以便复制到所有其他服务器。我们将使用美国服务器作为主服务器 有鉴于此,我们如何配置存储库和/或开发人员工作站(用于NPM和NuGet),以便印度的开发

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

复制文档清楚地说明了“避免复制循环”,即A->B和B->A。这基本上意味着您可以建立一个链,链中的第一台服务器实际上是“主服务器”,应将包发布到该链,以便复制到所有其他服务器。我们将使用美国服务器作为主服务器


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

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

美国中创建了以下存储库:

努吉特本地

努吉特印度本地

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

npm本地

npm印度本地

npm虚拟-->将两个npm报告添加到该虚拟,并将npm本地设置为默认部署报告。 这是您为开发人员提供的用于解决和部署的存储库

印度中创建了以下存储库:

努吉特本地

nuget美国本地

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

npm本地

npm美国本地

npm虚拟-->将两个npm报告添加到该虚拟,并将npm本地设置为默认部署报告。 这是您为开发人员提供的用于解决和部署的存储库

复制配置:

美国:

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

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

印度:

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

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

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

相关维基链接:


谢谢您提供的所有信息!如果两个团队都上传同一个库的新版本,这个配置不会导致问题吗?对于一个repo,它将拒绝,除非版本不同或它们具有覆盖权限,但我不知道您描述的设置是否提供相同的保护。虚拟存储库的工作方式将聚合本地和远程上可用的工件列表,并将“返回”一个列表给客户端。如果您要求特定版本,它将尝试首先转到本地回购并从那里获取。