介绍
假设你是在线户外服装零售商的软件工程师。 你负责部署和更新零售商的在线店面,这是一个基于云的基于微服务的 .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 扩展。