略過導覽

在 Azure 虛擬架構上使用 Jenkins 與 Terraform 的固定基礎結構 CI/CD 概觀

Azure 是世界級的雲端,用於裝載執行 Windows 或 Linux 的虛擬機器。不論您使用 Java、Node.js、Go 或 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 映像組建以使用 Azure 受控磁碟建立 VM,並以 VM 映像的形式加以儲存。

Jenkins 會觸發 Terraform 以使用 Azure 受控磁碟 VM 映像佈建新的虛擬機器擴展集。

Azure Log Analytics 會收集與分析記錄。

監視應用程式並加以改善。

  1. 1 變更應用程式原始程式碼。
  2. 2 將程式碼認可到 GitHub。
  3. 3 目標為 Jenkins 的持續整合觸發程序。
  4. 4 Jenkins 會觸發 Packer 映像組建以使用 Azure 受控磁碟建立 VM,並以 VM 映像的形式加以儲存。
  1. 5 Jenkins 會觸發 Terraform 以使用 Azure 受控磁碟 VM 映像佈建新的虛擬機器擴展集。
  2. 6 Azure Log Analytics 會收集與分析記錄。
  3. 7 監視應用程式並加以改善。

實作指南

產品/描述 文件

受控磁碟

安全的永續性磁碟儲存體,適用於 Azure 虛擬機器。

虛擬機器擴展集

管理及相應增加到上千部 Linux 及 Windows 虛擬機器。

Log Analytics

從內部部署和雲端收集、搜尋機器資料並將其視覺化。

Visual Studio Code

建置和部署多平台應用程式,以充分利用 Azure 服務。

相關解決方案架構

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 Apps 的 CI/CD

Azure Web Apps 可讓您快速、輕鬆地使用 ASP.NET、Java、Node 或 PHP 來建立 Web 應用程式。透過持續整合與持續部署 (CI/CD) 管線自動推送每項變更到 Web Apps,以更快將價值傳遞給客戶。