我有一个组织在azure开发有多个项目。在某些情况下,我们希望将工件从一个项目范围内的提要共享到另一个项目。有两种方法可以共享
- 将它们作为上游源添加到消费项目的项目范围feed
- 在消费应用程序的配置文件中引用多个项目范围的feed。
哪个是最好的解决方案,为什么?
根据关于使用Azure构件的最佳实践的文档:如果您想使用来自多个提要的包,请使用上游源将来自多个提要的包合并到一个提要中。
上游资源的好处:
上游源使您能够在单个提要中管理产品的所有依赖项。我们建议将给定产品的所有包发布到该产品的提要,并通过上游源管理来自同一提要中的远程提要的依赖关系。这个设置有几个好处:
- 简单:你的NuGet。Config、.npmrc或settings.xml中包含只有一个feed(你的feed)。
- 确定性:您的提要按顺序解析包请求,因此在相同的提交或更改集中重新构建相同的代码库使用
- 来源:你的feed知道它保存的包的来源上游源,这样您就可以验证您使用的是原始的包,而不是自定义的,或恶意复制发布到您的feed。
- 放心:通过上游源使用的包保证可以在第一次使用时保存在feed中。如果上游源是禁用/删除或远程提要关闭或删除包你依赖,你可以继续开发和构建。