使用 GitHub Actions 将 ARM 模板部署为 CI/CD 工作的一部分

已完成

GitHub Actions 可帮助团队在当今市场中灵活且具有竞争力。 它们可帮助你自动执行系统开发或解决方案开发生命周期的任务。

假设你和你的团队正在开发一个解决方案,该解决方案需要在 Azure 环境中大量资源。 你需要确保在持续集成和持续交付(CI/CD)管道中快速自动部署解决方案。 这样,就可以自动创建和拆解项目的基础结构。 通过在 CI/CD 管道中包含资源管理,你采用基础结构即代码(IaC)来自动执行 IT 任务。

适当的 CI/CD 管道还允许使用 Azure 资源管理器(ARM)模板测试工具包(arm-ttk )等工具将测试步骤包含在部署任务中。 有关此工具包的详细信息,请参阅 使用 what-if 和测试工具包验证部署

最好在工作流程中包含测试,以便专注于编写。 arm-ttk 工具包运行一系列测试,以在部署期间验证模板以避免问题。

可通过多种工具帮助你实现这些目标。 由于你已经在为代码存储库使用 GitHub,因此你决定调查 GitHub Actions,以查看它们是否提供所需的自动化。

本模块将介绍 GitHub Actions 作为部署 ARM 模板的一种方式。

什么是 GitHub Actions?

GitHub Actions 是打包的脚本,用于在 GitHub 的开发工作流中自动执行任务。

通过 GitHub Actions,可以直接在存储 ARM 模板的 GitHub 存储库中为软件开发生命周期创建自定义工作流。 YAML 文件定义工作流。

工作流具有一个或多个任务。 每个作业都包含一组执行单个任务的步骤。 这些步骤可以运行命令或使用操作。 可以创建自己的操作或使用 GitHub 社区共享的操作 ,并根据需要进行自定义。

部署 ARM 模板的基本工作流至少可以有三个步骤:

  1. 查看模板文件。
  2. 登录到 Azure。
  3. 部署模板。

Azure 登录操作使用服务主体进行 Azure 的身份验证。 若 CI/CD 工作流的主体要部署 Azure 资源,则需要正确的内置参与者。