在 Azure 虛擬架構上使用 Jenkins 和 Terraform 的不可變基礎結構 CI/CD 總覽

Log Analytics
受控磁碟
虛擬機器擴展集
GitHub

解決方案構想

如果您想要瞭解如何使用詳細資訊來擴充本文,例如可能的使用案例、替代服務、實行考慮或定價指引,請讓我們知道 GitHub 的意見反應!

Azure 是世界級的雲端,用於裝載執行 Windows 或 Linux 的虛擬機器。 無論您使用 JAVA、Node.js、Go 或 PHP 開發應用程式,都需要持續整合和持續部署 (CI/CD) 管線,以自動將變更推送到這些虛擬機器。

架構

架構圖表會 下載此架構的SVG

資料流程

  1. 變更應用程式原始程式碼。
  2. 認可程式碼以 GitHub。
  3. 持續整合觸發程式至 Jenkins。
  4. Jenkins 會觸發 Packer 映射組建來建立 VM,並使用 Azure 受控磁碟將其儲存為 VM 映射。
  5. Jenkins 觸發程式 Terraform 使用 Azure 受控磁碟 VM 映射布建新的虛擬機器擴展集。
  6. Azure Log Analytics 會收集和分析記錄。
  7. 監視應用程式並進行改進。

單元

  • 受控磁碟: Azure 虛擬機器的持續性、安全的磁片儲存體。
  • 虛擬機器擴展集:管理及擴大至數千部 Linux 和 Windows 的虛擬機器。
  • Log Analytics:收集、搜尋和視覺化來自內部部署和雲端的機器資料。
  • Visual Studio Code:建立和部署多平臺應用程式,以充分利用 Azure 服務。

下一步

部署至 Azure