在 Azure DevTest Labs 中建立自定義映像處理站

本文說明如何使用 Git 存放庫中提供的 範例腳本來設定自定義映像處理站

什麼是映像處理站?

映像處理站是一種設定即程式代碼解決方案,可透過所有所需的設定,定期建置和散發映像。 映射處理站中的映像一律為最新狀態,一旦整個程式自動化,進行中的維護幾乎為零。 而且,由於映像中已經有所有必要的組態,所以在以基底OS建立VM之後,可節省手動設定系統的時間。

讓開發人員桌面進入 DevTest Labs 中就緒狀態的重要加速器是使用自定義映像。 自定義映像的缺點是實驗室中還有額外的維護專案。 例如,產品試用版會隨著時間(或)新發行的安全性更新而過期,這會強制我們定期重新整理自定義映射。 使用映像處理站時,您會有簽入原始程式碼控制項的映像定義,並具有自動化程式,以根據定義產生自定義影像。

此解決方案可讓您從自定義映像建立虛擬機的速度,同時消除額外的持續維護成本。 透過此解決方案,您可以自動建立自定義映像、將它們散發給其他 DevTest Labs,以及淘汰舊的映像。 所有 Azure PowerShell 腳本都可自由使用,並位於這裡: https://aka.ms/dtlimagefactory


解決方案的高階檢視

此解決方案可讓您從自定義映像建立虛擬機的速度,同時消除額外的持續維護成本。 透過此解決方案,您可以自動建立自定義映像,並將其散發至其他 DevTest Labs。 您可以使用 Azure DevOps(先前稱為 Visual Studio Team Services)作為協調流程引擎,將 DevTest Labs 中的所有作業自動化。

High-level view of the solution.

DevTest Labs 有一個 VSTS 擴充功能,可讓您執行下列個別步驟:

  • 建立自訂影像
  • 建立 VM
  • 刪除 VM
  • 建立環境
  • 刪除環境
  • 填入環境

使用 DevTest Labs 延伸模組是一種在 DevTest Labs 中自動建立自定義映像的簡單方法。

針對更複雜的案例,有使用PowerShell腳本的替代實作。 使用 PowerShell,您可以完全自動化以 DevTest Labs 為基礎的映像處理站,以用於持續整合和持續傳遞 (CI/CD) 工具鏈。 此替代解決方案中遵循的原則如下:

  • 常見的更新應該不需要變更映像處理站。 (例如,新增新類型的自定義映射、自動淘汰舊映像、新增新的 'endpoint' DevTest Labs 以接收自定義映射等等。
  • 常見變更是由原始程式碼控制項所支援(基礎結構即程式代碼)
  • 接收自訂映像的 DevTest Labs 可能不在相同的 Azure 訂用帳戶中(實驗室範圍訂用帳戶)
  • PowerShell 腳本必須可重複使用,因此您可以視需要啟動更多工廠

下一步

移至本節中的下一篇文章: 從 Azure DevOps 執行映射處理站。