.NET FW 应用程序的软件开发生命周期

SW development life cycle for .NET FW application

我们有旧版 .NET FW 3.5 应用程序。作为 DevOps 工程师,我负责此应用程序的 CI/CD 管道。我有部署不同类型应用程序的经验。 Java、JS、Python、Docker、Helm 的 SDLC,所有这些对我来说都很清楚,但我需要一些关于这个 .NET 世界的帮助。

我正在关注 git 流程,所以请注意以下行为: 开发分支构建:结帐,构建 nuget 包,将此快照版本部署到二进制存储,将 nuget 包部署到服务器和 运行 应用程序 主分支构建:结帐,构建 nuget 包,部署并提升发布版本到二进制存储,将 nuget 部署到服务器到 UAT 环境。

但对我来说,nuget 打包似乎更多地用于存储库、依赖项等...但是,对于某种 .NET FW 后端应用程序,将应用程序二进制文件保存在二进制存储中的正确方法是什么? ?

首先:确保使用 .NET Framework 3.5 Service Pack 1 - 否则您将失去支持。或者甚至更好,如果可能的话升级到更新的版本。言归正传。

你说得对,像 nuget.org 这样的平台旨在用于存储依赖项,而不是应用程序本身。

Artifactory 恕我直言有点特别,因为有人可能会争辩说它是一种通用的工件存储 - 既用于依赖项又用于应用程序本身。
因此,如果您在 Artifactory 上有 NuGet 提要,则只应将应用程序的依赖项放在那里(也可以从 nuget.org 或 company-internal NuGet 包中镜像)。
但我认为创建一个专用的 Artifactory 提要完全没问题,您可以在其中放置应用程序二进制文件,因为它们将 consumed/deployed 投入生产。

关于 .NET 世界:.NET Framework 3.5 太老了,当时还没有通用且广泛采用的方法来存储和版本化应用程序工件 - 至少我没有不知道。一些使用 FTP 共享,其他仅使用生产服务器等
如今,.NET 应用程序(例如微服务或 Web API)最有可能以 Docker 图像的形式出现,存储在任何 Docker 适当的注册表中。