首页 > 解决方案 > 在项目中发布或更新单个 DLL - 安全吗?

问题描述

假设我在生产中部署了 ASP.Net WebApi 应用程序,我们想要更新它,但是因为它是一个大项目和旧项目,我们只想更新单个 Dll,而不是整个项目。

我们有发布此类内容的自动化流程,并且我们进行了一些回归测试和集成测试。主要是我们只在修补程序的情况下这样做,但现在我们希望增加部署频率

所以我的问题是: 更新单个 dll 是否安全?会出什么问题?

我试图在这些地方找到答案:

更新生产 ASP.NET 网站 bin 文件夹中的 DLL

如何阻止 C# 用它们的值替换 const 变量?

https://codeblog.jonskeet.uk/2019/06/30/versioning-limitations-in-net/

https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/break-changes

我认为如果我们制作一次修补程序并在一段时间后进行全面部署并没有那么糟糕(如果我们接受风险),但如果我们要使其成为正常做法,那么每个单个 Dll 部署风险都会高于正常的全面部署.

标签: asp.net.netwcf

解决方案


我会四处走动并提供答案。这个问题有 2 个有效答案。请考虑每一个。

1) 是的。如果您的更改很小(隔离到一个项目/dll),没有其他更新/升级,您已经完成了足够的测试,您已经进行了备份(因此您可以撤消)那么是的,可以安全地部署一个DLL 无需部署整个项目。当然,有很多事情可能会出错或让您感到惊讶,因此请在部署后对监控系统保持警惕,并准备好退出(撤消)您的更改。安全第一!

2)您提出的建议有点牛仔风格,不符合行业“最佳实践”。几乎任何有经验的人都会敦促您重新考虑您的策略。也许你目前的工作条件可能不会给你更好的选择。我们都去过那里。但是,为了“重放您因这种风险而招致的债务”,您还需要制定一个计划并为自己设定一个时间表,以摆脱任何未来的此类修补程序。


推荐阅读