如何管理两个微服务之间的nuget



我有两个服务是用。net写的。

假设A和B

在服务B中,有一个项目正在使用Jenkins构建到NuGet包中。每当我们向这个项目推送一个新的更改时,NuGet包就会增加1。

service A正在为一些共享模型使用NuGet包。

问题是,在开发过程中,我可以对服务B(即我需要在服务a中测试的NuGet包)进行大量更改。为了让服务A看到服务B中的更改,我需要将其推送到分支中,以便进行构建。但是,这会一直更新NuGet版本。

是否有办法绕过它?

我试图删除对A中的NuGet包的引用,并手动引用dll,但NuGet中有太多依赖项会破坏代码

添加本地NuGet源应该可以工作。整个过程应该遵循以下模式:

  1. 创建本地文件夹用于在本地存储包。
  2. 定位nuget。配置业务A或创建业务A。通常它位于解决方案文件夹中,但其他已知位置以及任何自定义位置也是可能的。
  3. 在nuget.config中添加本地文件夹。
  4. 将service B构建到包中并发布到本地文件夹。
  5. 升级到最新版本

因为所有这些步骤都可以用命令行工具完成(nuget.exe, dotnet, msbuild),它们可以在一些脚本语言(例如Powershell)中自动化,如果你有的话,应该很容易将它们插入任何构建自动化工具中。

还有一些工具可以跨许多存储库自动化依赖管理。他们特别适合大型软件产品,许多不同的部分是由许多不同的团队有很多不同部分之间的共享库。从你的问题来看,我猜你的情况要简单得多,这种工具对你来说是多余的。

最新更新