繁体   English   中英

Nuget 中介用于更快的更新

[英]Nuget intermediary for faster updates

假设我的公司创建:

  1. 商业产品“产品”
  2. 一个免费的开源库“图书馆”

“图书馆”发布在 Nuget 上供其他人使用。

产品”也通过 nuget 引用使用“库”

有时我们会在“库”中发现一个紧急错误,我们需要修复并发布“库”“产品”的更新。

我们修复了这个错误,将修复发布到 Nuget.... aaaahnd 然后我们必须等待几个小时,直到 nuget 发布修复版本。

团队通常如何优雅地解决这个问题?

基本上有几种方法可以解决此类问题。 但是,我们在项目中使用的方式是不使用 NuGet 来处理此类依赖项。 我们将此类“库”放在单独的项目中,即“产品”存储库的一部分,或者“产品”存储库使用git-modules引用此“库” 在这种情况下,产品的构建过程将是:

  1. 构建“库” ->在 nuget 的发布过程之后在单独的作业中自动启动(谈到 Jenkins 上的自动化构建)
  2. 使用已构建的“库”构建“产品
  3. 发布“产品”

在这个 piplene 中,诸如“仅构建和发布库”之类的其他构建选项将对您的构建脚本有所帮助。

如果您将 git 子模块称为“库” ,那么与库构建和发布相关的所有人员都可以放置在那里。 所以我建议为此使用 git 子模块。 此外,使用 git 子模块,可以更轻松地管理您想在“产品”中使用的“库”版本

您可以在云端或公司网络中创建自己的“Nuget package 源” 并且,在构建您的“图书馆”时,将其发布在两个来源中:nuget.org 和您自己的。 因此,在您的内部项目中,您将使用 package 源并能够在发布后立即接收更新,但此“库”的其他用户将能够通过常规 nuget.org 将其包含在他们的项目中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM