使用 Azure DevOps 部署到 VM

前言

在前一篇「使用 Azure DevOps 部署到 App Service 預備環境 (Slot) 並進行切換」介紹了將程式部署到 App Service,那另一個常見的情境則是 VM,這次就針對部署到 Azure Windows VM 來作為情境介紹。

實做

設定 Deployment groups

首先設定要部署的 VM 成 Deployment groups,可以設定多台,假設需要一次部署到多台機器的話。

點選建立之後,就可以取得安裝和設定 Agent 的 PowerShell 語法,複製到 VM 執行即可。

設定完成之後可以在 Target 裡面看到已經安裝的機器和機器狀態。

Azure DevOps Release Pipeline 設定

首先一樣得建立 Build 的 Pipeline 而這部分和前一篇一樣,就不再另外說明,可以直接參考前面文章的 Azure DevOps Release Pipeline 設定的前半部份,本文直接從 Release 的 Pipeline 開始說明。

點選 Release 並新增一個新的 Pipeline。

因為我們要部署到 Windows VM 的 IIS 內,選擇 IIS 的範本來套用。

Artifacts 一樣設定我們建立好的 Build Pipeline。

接下來點開 Stage 裡面範本建立起來的 Job 來設定,首先設定部署的群組,也就是前面我們建立起來的部分。

接下來設定 IIS,這一個 Job 可以選擇性使用,假設要讓我們每一台在部署群組裡面的 VM 設定都一樣,就可以在這邊做設定,這樣可以確保部署之前所有 VM 的 IIS 設定是一樣的,或是可以勾選 Enable IIS,就會確保 VM 上會有安裝好的 IIS,不過建議還是自行先安裝,並且安裝相關的套件,比如說本文的範例是 .NET 6 ,就會需要另外安裝 .NET 6 runtine。 

再來就是設定要部署到哪一個 IIS 站台。

執行 Release

再來就是執行設定好的 Pipelien 進行第一次的 Release 測試看看結果。

確實完成之後就可以正確的瀏覽到我們的站台囉!

結論

Azure DevOps 可以部署到不同類型的環境和服務,而目前已經介紹了兩個常見的環境和情境,App Service 和 VM,後續會再繼續介紹其它的服務,像是 AKS 或是 VMSS 等,主要都會是後面 Release 部分設定上會有不同,我也會把差異或是可能遇到的問題在實做過程中說明,希望對於要使用 Azure DevOps 部署的朋友會再第一步不會卡住了。

參考資料