通过 GitHub Actions 在 CI/CD 工作中部署 ARM 模板
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 模板的基本工作流至少包含三个步骤:
- 签出模板文件。
- 登录 Azure。
- 部署模板。
Azure 登录操作使用服务主体进行 Azure 的身份验证。 若 CI/CD 工作流的主体要部署 Azure 资源,则需要正确的内置参与者。