[TFS 2015] 實作 Build vNext + Release + CopyFile 自動部署至內部網站

前半段, CI (Continuous integration) Server 處理:程式碼版控→自動化測試
後半段, CD (Continuous Delivery) Server 處理:自動化部署→自動部署到測試機→簽核(QA), 用來完成自動化部署的動作 ,TFS 2015 Update 2 才把 Release 整合到網頁。

Release 就是 CD
接下來的演練, 我仍然要發行網站應用程式到內部環境,除了上篇的做法之外,我們也可以用 TFS 2015 Update 2 才加入的 Release 新功能。

續上篇,https://dotblogs.com.tw/yc421206/2016/04/20/tfs2015_build_vnext_webdeploy

自動化部署的流程,下圖出自董大偉老師。

上篇是屬於前半段 CI 的流程,程式碼簽入→自動化測試, 雖然有測試程式碼,它不代表應用程式完全沒問題,開發人的測試程式碼無法涵蓋所有的情境,需要由 QA 這個角色來替系統找出潛在的 Bug。

我要用 TFS 2015 Update 2 才新增的 Release 功能,讓我們的部署流程更加的嚴謹,在組建停用最後一個步驟【Windows 電腦檔案複製】,我要把這個動作交給 Release 完成,如下圖:

 

伺服器環境:

  • Windows 2012 Datacenter x64 中文版
  • TFS 2015 Update 2 中文版

操作步驟:

 

新增發行

這裡我需要新增一個空的部署範本

 
環境

範本加入後,就會有一個環境,我先命名發行名稱,後面再回過頭來調整,如下圖:

 

成品

這是上一篇的組建後的成品 ,按下連接成品來源 ,如下圖:

 
組態

這裡我設定一個 Password 的變數,如下圖:

 
觸發程序

當有組建有新的成品時觸發這個發行,如下圖:

完成後儲存,如下圖:


回到環境,還有一些設定要做

環境-加入工作

加入一個 Windows 電腦檔案複製,這和上一篇的設定有稍微不同

  • 來源:組建的成品
  • 電腦:your remote computer
  • 系統管理員登入:your domain\account
  • 密碼:$(Password)
  • 目的資料夾:\\your remote computer\your web app name

來源,是指組建成品,需要連結組建成品才會有下圖的資料夾選取畫面,如下圖:

 

環境-細部設定

每一個環境都有這樣的設定,主要就是在設定關卡怎麼跑,給誰簽核、部署條件等等...,如下圖:

 

指派簽核者

設定關卡的審核人員並發 Mail 通知

部署條件

選擇建立版本之後,如下圖:

 

因為上圖,是第一個環境,所以【在另一個環境上成功部署之後】是反白的,在非第一個環境才有這個選項,如下圖:

 

建立發行

手動建立發行

存檔後,建立發行

 

觀察發行

這裡會列出發行狀況,綠燈代表完成,灰色代表卡關未運行,紅色代表失敗,如下圖:

雙擊 Release-6

若有簽核就也可以看到,如下圖:

有任何的錯誤,有任何的狀況可以下載 zip 觀察,如下圖:

 

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo