跳过导航

在 Azure 虚拟体系结构中使用 Jenkins 和 Terraform 的不可变基础结构 CI/CD 概述

Azure 是用于托管运行 Windows 或 Linux 的虚拟机的世界级云。无论使用 Java、Node.js 还是 PHP 来开发应用程序,都需要持续集成和持续部署 (CI/CD) 管道自动将更改推送到这些虚拟机。

Jenkins Azure Virtual MachineScale Sets Terraform Azure Managed Disks(VM Image) Packer GitHub Engineer Azure Log Analytics 1 7 6 5 5 5 4 4 2 3 Visual Studio Code

更改应用程序源代码。

将代码提交到 GitHub。

Jenkins 持续集成触发器。

Jenkins 触发 Packer 映像生成,创建一个 VM,并使用 Azure 托管磁盘将其存储为 VM 映像。

Jenkins 触发 Terraform,使用 Azure 托管磁盘 VM 映像预配新的虚拟机规模集。

Azure Log Analytics 收集并分析日志。

监视应用程序并进行改进。

  1. 1 更改应用程序源代码。
  2. 2 将代码提交到 GitHub。
  3. 3 Jenkins 持续集成触发器。
  4. 4 Jenkins 触发 Packer 映像生成,创建一个 VM,并使用 Azure 托管磁盘将其存储为 VM 映像。
  1. 5 Jenkins 触发 Terraform,使用 Azure 托管磁盘 VM 映像预配新的虚拟机规模集。
  2. 6 Azure Log Analytics 收集并分析日志。
  3. 7 监视应用程序并进行改进。

实施指南

相关解决方案体系结构

Visual Studio Team Services Git Visual Studio Team Services CI Visual Studio Team Services CD Engineer Visual Studio Azure Application Insights Azure Web Apps 2 1 7 3 4 5 6 Visual Studio Team Services Backlog 8

Azure Web 应用的 CI/CD

借助 Azure Web 应用,可快速简单地使用 ASP.NET、Java、Node.js 或 PHP 创建 Web 应用。通过持续集成和持续部署 (CI/CD) 管道将每一个更改自动推送到 Web 应用,从而更快地为客户创造价值。