我们使用 Nuget 进行内部开发,以允许我们跨团队共享代码。但是,当一个人正在处理将同时部署在多个 nuget 包中的代码时,我们会遇到问题。例如
A依赖B,B依赖C。
A、B 和 C 将他们的工件推送到 Nuget,这就是我们管理 A、B 和 C 之间依赖关系的方式。我们发现的问题是,如果开发人员想要在 C 中进行更改并快速看到这些更改反映在 A 中,他们必须经过以下过程。
- 在 C 中进行更改。
- 将更改推送到 git
- CI 获取对 C 的更改并构建和部署新的 nuget 包。
- 使用 nuget update package 命令进入 B 并更新对 C 的引用。
- 将对 packages.config 文件的更改推送到 git
- CI 获取对 B 的更改并为 B 构建和部署新的 nuget 包
- 现在打开 A 并更改对 B 和 nuget 更新包的引用
- 在 A 中进行更改以配合 B 中的更改(以及传递 C)
这似乎非常痛苦,并导致我们的一些开发人员质疑为我们内部开发的代码选择 Nuget。每个人仍然喜欢它来消费外部包。
在内部使用 Nuget 是否有更好的工作流程?