“借助云技术,个人和小型企业只需动动手指,就能立即设置企业级服务。”
- 罗伊·斯蒂芬
愿景
按照您喜欢的方式使用 Visual Studio、dotnet CLI 或 Visual Studio Code 或您所选择的编辑器来开发设计良好的 ASP .NET Core 应用程序。
ASP.NET Core 应用的开发环境
开发工具选项:IDE 或编辑器
无论你更喜欢完整且功能强大的 IDE 还是轻量敏捷的编辑器,Microsoft 在开发 ASP.NET Core 应用程序时都能满足你的需求。
Visual Studio 2022。 Visual Studio 2022 是开发适用于 ASP.NET Core 的应用程序的最佳类 IDE。 它提供了许多功能,可提高开发人员工作效率。 可以使用它开发应用程序,然后分析其性能和其他特征。 集成调试器允许您在代码执行时暂停,并在代码运行期间随意前后查看代码。 它支持热重载,允许你在修改代码后继续从上次中断的地方工作,而无需重启应用。 使用内置测试运行程序可以组织测试及其结果,甚至可以在编码时执行实时单元测试。 使用 Live Share,可以与其他开发人员实时协作,通过网络无缝共享代码会话。 当你准备就绪时,Visual Studio 提供您需要的所有工具,以便将应用程序发布到 Azure 或其他托管平台。
Visual Studio Code 和 dotnet CLI (适用于 Mac、Linux 和 Windows 的跨平台工具)。 如果你更喜欢支持任何开发语言的轻型跨平台编辑器,可以使用 Microsoft Visual Studio Code 和 dotnet CLI。 这些产品提供简化开发人员工作流的简单而可靠的体验。 此外,Visual Studio Code 还支持 C# 和 Web 开发的扩展,在编辑器中提供 Intellisense 和快捷任务。
Azure 托管 ASP.NET 核心应用的开发工作流
应用程序开发生命周期从每个开发人员的计算机开始,使用其首选语言对应用进行编码,并在本地进行测试。 开发人员可以选择他们的首选源代码管理系统,并使用生成服务器或基于内置 Azure 功能配置持续集成(CI)和/或持续交付/部署(CD)。
若要开始使用 CI/CD 开发 ASP.NET Core 应用程序,可以使用 Azure DevOps Services 或组织自己的 Team Foundation Server (TFS)。 对于代码托管在 GitHub 上的应用,GitHub Actions 提供了另一个选项,用于轻松生成应用并将其部署到 Azure。
初始设置
若要为应用创建发布管道,需要在源代码管理中设置应用程序代码。 设置本地存储库并将其连接到团队项目中的远程存储库。 请按照以下说明操作:
创建要在其中部署应用程序的 Azure 应用服务。 通过访问 Azure 门户的“应用服务”边栏选项卡来创建 Web 应用。 单击“+添加”,选择 Web 应用模板,单击“创建”并提供名称和其他详细信息。 Web 应用将可通过 {name}.azurewebsites.net 访问。
图 10-1. 在 Azure 门户中创建新的 Azure 应用服务 Web 应用。
每当将新代码提交到项目的源代码管理存储库时,CI 生成过程都会执行自动生成。 此过程提供代码编译时的即时反馈(理想情况下能够通过自动测试),从而可能进行部署。 此 CI 生成将生成一个 Web 部署包项目,并将其发布,以供 CD 进程使用。
请务必启用持续集成,以便每当团队中的某人提交新代码时,系统会将构建任务排入队列。 测试该生成,并验证其是否生成 Web 部署包作为其中一个项目。
生成成功后,CD 过程会将 CI 生成的结果部署到 Azure Web 应用。 若要配置此步骤,请创建并配置将部署到 Azure 应用服务的 Release。
配置 CI/CD 管道后,可以轻松对 Web 应用进行更新,并将其提交到源代码管理以部署它们。
用于开发 Azure 托管的 ASP.NET Core 应用程序的工作流
配置 Azure 帐户和 CI/CD 过程后,开发 Azure 托管的 ASP.NET Core 应用程序非常简单。 下面是构建 ASP.NET 以 Web 应用的形式托管在 Azure 应用服务中的核心应用时通常采取的基本步骤,如图 10-2 所示。
图 10-2. 用于生成 ASP.NET Core 应用并将其托管在 Azure 中的分步工作流
步骤 1. 本地开发环境内部循环
开发要部署到 Azure 的 ASP.NET Core 应用程序与开发其他程序并无不同。 使用熟悉的本地开发环境,无论是 Visual Studio 2019 还是 dotnet CLI、Visual Studio Code 还是首选编辑器。 可以编写代码、运行和调试更改、运行自动测试,并将本地提交到源代码管理,直到准备好将更改推送到共享源代码管理存储库。
步骤 2. 应用程序代码存储库
每当准备好与团队共享代码时,都应将更改从本地源存储库推送到团队的共享源存储库。 如果已在自定义分支中工作,此步骤通常涉及将代码合并到共享分支(也许通过 拉取请求)。
步骤 3. 构建服务器:持续集成。 构建、测试、打包
每当有新代码提交到共享应用程序代码存储库时,就会在构建服务器上触发新的构建。 作为 CI 过程的一部分,此生成应完全编译应用程序并运行自动测试,以确认一切按预期工作。 CI 过程的最终结果应该是 Web 应用的打包版本,可供部署。
步骤 4. 构建服务器:持续交付
生成成功后,CD 过程将选取产生的生成项目。 此过程将包括 Web 部署包。 生成服务器会将此包部署到 Azure 应用服务,并将任何现有服务替换为新创建的服务。 通常,此步骤面向过渡环境,但某些应用程序通过 CD 过程直接部署到生产环境。
步骤 5. Azure 应用服务 Web 应用
部署后,ASP.NET Core 应用程序在 Azure 应用服务 Web 应用的上下文中运行。 可以使用 Azure 门户监视和进一步配置此 Web 应用。
步骤 6. 生产监视和诊断
在 Web 应用运行时,可以监视应用程序的运行状况,并收集诊断和用户行为数据。 Application Insights 包含在 Visual Studio 中,并为 ASP.NET 应用提供自动检测。 它可以提供有关使用情况、异常、请求、性能和日志的信息。
参考文献
生成 ASP.NET 核心应用并将其部署到 Azure
https://learn.microsoft.com/azure/devops/build-release/apps/aspnet/build-aspnet-core