在 Azure DevTest Labs 中設定保留原則
本文涵蓋設定保留原則、清除處理站,以及淘汰組織中其他 DevTest Labs 的舊映像。
必要條件
請務必遵循下文說明,再繼續進行:
下列項目應該已經準備就緒:
- Azure DevTest Labs 中映像處理站的實驗室
- 處理站會在一個或多個目標 Azure DevTest Labs 中散發黃金映像
- 用來將映像處理站自動化的 Azure DevOps Project。
- 含有指令碼和設定的原始程式碼位置 (在我們的範例中,位於與上述使用的同一個 DevOps Project 中)
- 協調 Azure PowerShell 工作的組建定義
設定保留原則
設定清除步驟之前,請先定義您要在 DevTest Labs 中保留的歷史映像數目。 遵循從 Azure DevOps 執行映像處理站 一文說明時,您已設定了各種組建變數。 其中一個便是 ImageRetention。 您可以將此變數設定為 1
,這表示 DevTest Labs 不會維護自訂映像的歷程記錄。 只有最新的分散式映像可供使用。 如果您將此變數變更為 2
,系統就會維護最新的分散式映像和先前的映像。 您可以設定此值,以定義想要在 DevTest Labs 中維護的歷史映像數目。
清除處理站
清除處理站的第一個步驟是從映像處理站中移除黃金映像 VM。 有一個指令碼可以執行這項工作,就像先前的指令碼一樣。 第一步是先將另一個 Azure PowerShell 工作新增至組建定義,如下圖所示:
清單中顯示新工作後,請選取該項目並填入所有詳細資料,如下圖所示:
指令碼參數為:-DevTestLabName $(devTestLabName)
。
淘汰舊映像
此工作會移除任何舊映像,只保留符合 ImageRetention 組建變數的歷程記錄。 將其他 Azure PowerShell 組建工作新增至組建定義。 新增之後,請選取工作,然後填入詳細資料,如下圖所示:
指令碼參數為:-ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(devTestLabName) -ImagesToSave $(ImageRetention)
將組建排入佇列
現在您已完成組建定義,請將新組建排入佇列,確保一切正常運作。 組建順利完成之後,新的自訂映像就會顯示在目的地實驗室中。 當您檢查映像處理站實驗室時,不會看到任何佈建的 VM。 如果您將進一步的組建排入佇列,就會看到清除工作從 DevTest Labs 淘汰舊的自訂映像。 淘汰作業會與組建變數中設定的保留值一致。
注意
如果您在本系列最後一篇文章結束時執行管線組建,請先手動刪除您在映像處理站實驗室中建立的虛擬機器,再將新組建排入佇列。 只有在設定所有項目並確認其可順利運作時,才需要手動清除步驟。
摘要
您現在已有一個執行中的映像處理站,可以視需要產生自訂映像並將其散發至實驗室。 此時,只需要妥善設定映像並識別目標實驗室即可。 如上一篇文章所述,位於 [設定] 資料夾中的 [Labs.json] 檔案會指定每個目標實驗室應該提供哪些映像。 當您將其他 DevTest Labs 新增至您的組織時,只需要在新實驗室的 Labs.json 中新增輸入即可。
將新的映像新增至處理站也很簡單。 若您想要在處理站中包含新映像,請開啟 Azure 入口網站並瀏覽至您的處理站實驗室。 選取按鈕以新增 VM,然後選擇您想要的市集映像和成品。 請勿選取 [建立] 按鈕來建立新 VM,而是改為選取 [檢視 Azure Resource Manager 範本]。 將範本以 .json 檔案儲存在存放庫 GoldenImages 資料夾中的某處。 下次執行映像處理站時,就會建立您的自訂映像。