教程:使用 Azure DevOps Starter 部署 ASP.NET 应用和 Azure SQL 数据库代码

Azure DevOps Starter 提供了简化的体验,可以在其中将现有代码和 Git 存储库引入,或选择示例应用程序来创建持续集成(CI)和持续交付(CD)管道到 Azure。

DevOps Starter 还包括:

  • 自动创建 Azure 资源,例如 Azure SQL 数据库中的数据库。
  • 在 Azure Pipelines 中创建和配置发布管道,其中包括用于 CI 的生成管道。
  • 为 CD 设置发布管道。
  • 创建用于监视的 Azure Application Insights 资源。

在本教程中,你将:

  • 使用 Azure DevOps Starter 部署 ASP.NET 应用和 Azure SQL 数据库代码
  • 配置 Azure DevOps 和 Azure 订阅
  • 检查 CI 管道
  • 检查 CD 管道
  • 将更改提交到 Azure Repos,并自动将其部署到 Azure
  • 连接到 Azure SQL 数据库
  • 清理资源

先决条件

在 DevOps Projects 中为 ASP.NET 应用和 Azure SQL 数据库创建项目

DevOps Starter 在 Azure Pipelines 中创建 CI/CD 管道。 可以创建新的 Azure DevOps 组织或使用现有组织。 DevOps Starter 还会在所选的 Azure 订阅中创建 Azure 资源,例如 Azure SQL 数据库。

  1. 登录 Azure 门户

  2. 在搜索框中,键入 DevOps Starter,然后选择。 单击 添加 以创建一个新的。

    DevOps Starter 仪表板

  3. 选择 .NET,然后选择 下一步

  4. 选择应用程序框架下,选择 ASP.NET

  5. 选择 添加数据库,然后选择 下一步。 在上一步骤中选择的应用程序框架决定了此处提供的 Azure 服务部署目标的类型。

  6. 选择下一步

配置 Azure DevOps 和 Azure 订阅

  1. 创建新的 Azure DevOps 组织,或选择现有组织。

  2. 输入 Azure DevOps 项目的名称。

  3. 选择 Azure 订阅服务。 (可选)若要查看其他 Azure 配置设置,并在 数据库服务器登录详细信息 部分中标识用户名,可以选择 更改。 存储本教程中未来步骤的用户名。 如果执行此可选步骤,请在选择 完成之前退出 Azure 配置区域。

  4. 选择“完成” 。 几分钟后,该过程已完成,DevOps Starter 仪表板将在 Azure 门户中打开。 还可以直接从 Azure 门户中 所有资源 导航到仪表板。 在右侧,选择 浏览 以查看正在运行的应用程序。

检查 CI 管道

DevOps Starter 会自动在 Azure Repos 中配置完整的 CI/CD 管道。 您可以浏览和自定义管道。 若要熟悉 Azure DevOps 生成管道,请执行以下作:

  1. 在 DevOps Starter 仪表板顶部,选择 构建管道。 浏览器选项卡显示新项目的生成管道。

  2. 指向 状态 字段,然后选择省略号(...)。菜单显示多个选项,例如排入新构建、暂停一个构建和编辑构建管道。

  3. 选择 编辑

  4. 在此窗格中,可以查看构建管道的各种任务。 生成执行各种任务,例如从 Git 存储库提取源、还原依赖项和发布用于部署的输出。

  5. 在生成管道的顶部,选择生成管道名称。

  6. 将生成管道的名称更改为更具描述性的内容,选择 保存 & 队列,然后选择 保存

  7. 在生成管道名称下,选择 历史记录。 此窗格显示您最近生成更改的审核记录。 Azure Pipelines 会跟踪对生成管道所做的任何更改,并允许比较版本。

  8. 选择 触发器。 DevOps Starter 会自动创建 CI 触发器,每次提交到存储库都会启动一个新的构建。 (可选)可以选择在 CI 进程中包括或排除分支。

  9. 选择 保留。 根据你的情况,可以指定策略来保留或删除一定数量的构建。

检查 CD 管道

DevOps Starter 会自动创建和配置从 Azure DevOps 组织部署到 Azure 订阅所需的步骤。 这些步骤包括配置 Azure 服务连接以向 Azure 订阅验证 Azure DevOps。 自动化还会创建一个 CD 管道,该管道向 Azure 虚拟机提供 CD。 若要详细了解 Azure DevOps 持续交付管道,请执行以下操作:

  1. 选择 构建和发布,然后选择 发布。 DevOps Starter 创建发布管道来管理到 Azure 的部署。

  2. 选择发布管道旁边的省略号(...),然后选择 编辑。 发布管道包含定义发布过程的 管道

  3. 项目下,选择 删除。 在前面的步骤中检查的生成管道会产出用于工件的输出。

  4. 下拉 图标右侧,选择 连续部署触发器。 此发布管道具有一个已启用的 CD 触发器,每当有新的生成工件可用时,便进行部署。 您可以选择禁用触发器,使得部署需手动执行。

    DevOps Starter 设置随机 SQL 密码,并将其用于发布管道。

  5. 在左侧,选择 变量

    注释

    仅当更改了 SQL Server 密码时,才执行以下步骤。 有一个密码变量。

  6. 在“”框旁边,选择挂锁图标,输入新密码,然后选择 保存

  7. 在左侧,选择 任务,然后选择环境。 任务是部署进程执行的活动,它们分阶段分组。 此发布管道有一个阶段,其中包含 Azure 应用服务部署Azure SQL 数据库部署 任务。

  8. 选择 执行 Azure SQL 任务,并检查用于 SQL 部署的各种属性。 在 部署包下,任务使用 SQL DACPAC 文件。

  9. 在右侧,选择 查看版本 以显示发布历史。

  10. 选择版本旁边的省略号(...),然后选择 打开。 可以浏览多个菜单,例如发布摘要、关联的工作项和测试。

  11. 选择 提交。 此视图显示与此部署关联的代码提交。 比较软件版本以查看部署之间的提交差异。

  12. 选择“日志”。 日志包含有关部署过程的有用信息。 可以在部署期间和之后查看它们。

将更改提交到 Azure Repos,并自动将其部署到 Azure

注释

以下步骤通过简单的文本更改来测试 CI/CD 管道。 若要测试 SQL 部署过程,可以选择对表进行 SQL Server 架构更改。

现在,您已准备好通过 CI/CD 流程与团队在应用开发项目上进行协作,这个流程会自动将您的最新工作部署到应用相关的网站上。 每次对 Git 存储库的更改都会在 Azure DevOps 中启动构建,持续交付(CD)管道将执行到 Azure 的部署。 按照本部分中的过程作,或使用其他技术将更改提交到存储库。 代码更改会启动 CI/CD 过程,并自动将更改部署到 Azure。

  1. 在左窗格中,选择 代码,然后进入存储库。

  2. 转到 SampleWebApplication\Views\Home 目录,选择 Index.cshtml 文件旁边的省略号(...),然后选择 编辑

  3. 对文件进行更改,例如在 div 标记之一中添加一些文本。

  4. 在右上角,选择 提交,然后再次选择 提交,以推送你的更改。 片刻之后,Azure DevOps 中会启动构建,然后,执行发布以部署更改。 在 DevOps Starter 仪表板或使用 Azure DevOps 组织的浏览器中监视生成状态。

  5. 发布完成后,刷新应用程序以验证更改。

连接到 Azure SQL 数据库

需要适当的权限才能连接到 Azure SQL 数据库。

  1. 在 DevOps Starter 仪表板上,选择 SQL 数据库 转到 SQL 数据库的管理页。

  2. 选择 设置服务器防火墙,然后选择 添加客户端 IP

  3. 选择 保存。 客户端 IP 现在有权访问 SQL Server Azure 资源。

  4. 返回到 SQL 数据库 窗格。

  5. 在右侧,选择服务器名称以导航到 SQL Server的配置页。

  6. 选择 重置密码,输入 SQL Server 管理员登录的新密码,然后选择 保存。 请务必保留此密码,以便稍后在本教程中使用。

    现在,可以选择使用 SQL Server Management Studio 或 Visual Studio 等客户端工具连接到 SQL Server 和 Azure SQL 数据库。 使用 服务器名称 属性进行连接。

    如果在 DevOps Projects 中最初配置项目时未更改数据库用户名,则用户名是电子邮件地址的本地部分。 例如,如果您的电子邮件地址是 johndoe@microsoft.com,则您的用户名是 johndoe

    注释

    如果更改 SQL 登录名的密码,则必须更改发布管道变量中的密码,如 检查 CD 管道 部分中所述。

清理资源

如果要测试,可以通过清理资源来避免产生计费费用。 不再需要它们时,可以删除本教程中创建的 Azure SQL 数据库和相关资源。 为此,请使用 DevOps Starter 仪表板上的 删除 功能。

重要

以下过程永久删除资源。 Delete 功能会破坏 Azure 和 Azure DevOps 中的 DevOps Starter 中项目创建的数据,并且无法检索它。 仅在仔细阅读提示后才使用此过程。

  1. 在 Azure 门户中,转到 DevOps Starter 仪表板。
  2. 在右上角,选择 删除
  3. 在提示符下,选择 ,以 永久删除 资源。

后续步骤

可以选择修改这些生成和发布管道以满足团队的需求。 还可以将此 CI/CD 模式用作其他管道的模板。 在本教程中,你将学习到如何:

  • 使用 Azure DevOps Starter 部署 ASP.NET 应用和 Azure SQL 数据库代码
  • 配置 Azure DevOps 和 Azure 订阅
  • 检查 CI 管道
  • 检查 CD 管道
  • 将更改提交到 Azure Repos,并自动将其部署到 Azure
  • 连接到 Azure SQL 数据库
  • 清理资源

若要了解有关 CI/CD 管道的详细信息,请参阅:

视频