简介

已完成

假设你是一名软件工程师,为一家户外服装零售商工作。 你负责部署和更新这家零售商的在线店面,它是一个基于微服务的云原生 .NET 应用。

为了满足项目要求并增强团队的敏捷开发实践,你决定通过 GitHub Actions 和 Azure Pipelines 来比较持续集成和持续部署 (CI/CD)。 CI/CD 管道使用一系列自动化步骤,从生成环境到所有环境编译和部署应用。

因为当前 Web 具有一个微服务体系结构,并且每个微服务都独立部署,因此首先要为单个服务设置 CI/CD。

名为产品服务的 .NET Web API 支持网站的所有后端目录功能。 在本模块中,你将为产品服务实施 CI/CD 管道。

本模块将指导你完成以下步骤:

  • GitHub Actions 向容器注册表进行身份验证。
  • 安全地存储 GitHub Actions 所使用的敏感信息。
  • 实现一个为微服务生成容器映像的操作。
  • 修改并提交微服务代码以触发生成。
  • 实现一个将更新的容器部署到 Azure Kubernetes 服务 (AKS) 群集的操作。
  • 修改并提交 Helm 图表以触发部署。
  • 将微服务恢复为旧部署。

你在本模块中会使用自己的 Azure 订阅来部署资源。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户

重要

为避免在 Azure 订阅中产生不必要的费用,请务必在完成本模块后删除 Azure 资源。

先决条件

  • 具备 DevOps 实践的概念知识。
  • 具备容器、Docker 和 AKS 的概念知识。
  • 使用所有者权限访问 Azure 订阅。
  • 有权访问 GitHub 帐户。
  • 能够在 Visual Studio Code 或 GitHub Codespaces 中运行开发容器,按以下部分所述进行设置。

开发容器

本模块包含用来定义开发容器的配置文件。 使用开发容器可确保使用所需的工具预配置标准环境。

开发容器在两个环境中都可运行。 在开始之前,请按照以下链接之一中的步骤设置环境,包括安装 Docker 和必要的 Visual Studio Code 扩展。