Azure DevOps Quick Start
快速開始使用Azure DevOps
- 雲端託管私人 Git 存放庫
- 雲端的 CI/CD 建置、測試及部署
- 整合敏捷式工具與所有小組一起規劃、追蹤及討論工作
1.Create a projects
首先建立一個Project1專案
2.使用Visual Studio連接到DevOps git版控
網址 yourAccount.visualstudio.com
另一種網址是 yourAccount@dev.azure.com
勾選要連線的專案
3.複製clone Project1 repository 到本地
點擊 Clone this repository 連結
按下 [Clone] 按鈕
4.直接在本地Repository建立方案
5.將變更Commit並push到遠端git(DevOps版控)
6.在DevOps版控,設定與測試Build
選擇 ASP.NET 範本
修改 azure-pipelines.yml檔,在最下方增加一行
- task: PublishBuildArtifacts@1
按下 Save and run
確認 Build 正常完成
7.新增部屬群組 Add a deployment group
部署群組可包含多台主機(虛擬機或實體機)
可依需求建立dev,test,UAT,Production群組
以下範例命名為 Projection
為了將 Azure DevOps Service 代理程式安裝到要部署的虛擬機器當中,勾選Use a personal access token in the script for authentication. 然後點擊Click [Copy script to clipboard].
8.建立Web Server VM並安裝
Azure DevOps Service 代理程式
建立VM
RDP登入VM,安裝Web Server角色與所需相關功能
新增一個 stage 站台
實體目錄指向 C:\inetpub\wwwrootstage (從C:\inetpub\wwwroot複製而來)
Port指定8080
在Web Server主機,以管理員身分啟動一個PowerShell命令提示字元
貼上一個步驟所複製的命令
開始安裝Azure DevOps Service 代理程式
9.回到Azure DevOps的deployment group,確認
10.建立Release pipeline
有2種方法
方法1:
Project1 > Pipelines > Releases > New pipeline
方法2:
Project1 > Pipelines > Builds > 點選一個已執行完成的Build,然後點選右上方的Release
11.設定Release
選擇 IIS website deployment 範本
點擊Stage 1下方1 job, 2 tasks連結,設定屬性
選取剛建立好的Deployment group部署群組 Production
點擊複製Clone
點擊 Stage 1
將Website Name改為stage
將binding的80改為8080
將IIS Web App Manage的Physical path路徑的wwwroot改為wwwrootstage
點擊 Pre-deloyment conditions
Enable Pre-deployment approvals
啟用需預先認可,並指定認可人員
點擊 Continuous deployment trigger
依需求勾選
第1個選項是當有新的build完成,就建立一個release
第2個選項則是當pull request workflow含有一個新版已選取的artifact可用時,就建立一個release,此選項必須設定filter指定一個branch
12.測試Release
檢查stage與Default Web Site網站,目前仍是預設IIS歡迎頁面
Stage網站: http://localhost:8080
Default Web Site網站:
http://localhost
回到Project1 > Pipelines > Builds頁面 ,點擊右上角的 Queue 按鈕,觸發一次Build
確認Release正在執行 Stage 1
當 Stage 1 執行成功
確認stage網站 http://localhost:8080 已改為ASP.NET網站
當Stage 1完成,Production會變成Pending approval狀態
按下 [Approve]
當Production也執行成功
確認Default Web Site網站 http://localhost 已改為ASP.NET網站
13.建立分支來開發
在master按右鍵,選擇New Local Branch From
輸入新分支命名為feature1
來源選擇master
預設勾選Checkout branch
按下[Create Branch]
在剛建好的分支feature1按右鍵,選擇Publish Branch
確認DevOps已出現新的分支feature1
14.使用Pull Request來觸發Release
Project1 > Repos > Pull requests , 典籍右上角 [New pull request]
來源Branch選擇feature1
如果feature與master沒有變更需要合併,則無法建立Pull request
若有變更,則會跳出以下視窗,按下Create按鈕就可以建立一個pull request
當reviewer做完代碼審查,即可按下Approve
接下來就可以按下Complete按鈕,準備進行分支的Merge合併
選擇Merge type合併方式,就可以按下 Complete merge就會開始進行Merge
pull request完成後的畫面
當pull request完成,就會觸發一個Release部署到web server
Reference:
Using Azure DevOps to Deploy Web Applications to Virtual Machines
https://devblogs.microsoft.com/premier-developer/using-azure-devops-to-deploy-web-applications-to-virtual-machines/
Create a deployment group
https://docs.microsoft.com/en-us/azure/devops/pipelines/apps/cd/deploy-webdeploy-iis-deploygroups?view=azure-devops#create-a-deployment-group