VSTS/TFS Auto Build

前幾天使用VSTS配置自動部署前端網站(AngularJS)和RESTfulAPI(.NET)到客戶環境. 因爲都是參考官方文檔 https://docs.microsoft.com/zh-cn/vsts/build-release/tasks/ 比較費時間,因此記錄下來步驟,但願能對你們有幫助。html

Build RESTful API

1. 選擇Build and Release -> Builds -> New -> 選擇模板ASP.NET,這個模板主要思路是:選擇一個代理(至關於雲服務器) -> 獲取代碼 ->  安裝NuGet -> 使用NuGet獲取引用 -> 編譯項目 -> 執行單元測試 -> 上傳.前端

2. 關鍵的配置項. Process中Agent queue, 由於是部署到Windows Server2012, 直接選擇Hosted VS2017.如何沒有已經存在的代理,須要在設置-> Agent Queues 中下載配置。json

3. Get sources中Server path, 這個代碼路徑很重要,由於默認設置是尋找.sln文件,因此須要配置合適的路徑。api

4. Build Solution中Visual Studio Version, 按照你的程序版本選擇對應的VS.服務器

5. Copy Post Scripts是本身加的,由於部署完成後須要在服務器用newman執行該腳本,因此此處下載該腳本拷貝到程序包裏一塊上傳。單元測試

6. 第二列Variables中選擇BuildConfiguration是release/debug版本。測試

7. 第三列Triggers中Continuous integration,都打勾而且配置代碼路徑,當上傳該路徑下的代碼時會自動開始執行Build。網站

8. 其餘列中使用默認值就能夠,點擊Save & queue 看一下Build結果。ui

 9. 執行成功。點擊Build 20180121.1 -> Artifacts 能夠查看上傳的包。debug

10. 若是出現錯誤,能夠查看Phase 1 -> Logs,有詳細信息。

Release RESTful API

1. 點擊上圖中右上方的Release,選擇模板IIS Website Deployment,該模板主要流程:下載包到服務器 -> 拷貝包到網站物理路徑 -> 自動刷新。紅框中的每個都是配置項,可使用默認值。Select template框會顯示爲 1 Phase, 4 tasks,點擊它開始配置環境。

2. 關鍵的配置項。Environment1中Configuration type,若是你的是應用程序,好比www.api.com/myapi/login中的myapi項目,須要選擇IIS Web Application或者IIS Virtual Directory。 而後配置網站名稱和地址。

3. IIS Deployment中Deployment group, 這個配置項是鏈接服務器的橋樑。選擇Deployment Groups* -> New -> input name -> Copy script to clipboard. 我建的名稱是myGroup。

4. 到服務器上Run as Administrator執行該腳本。提示須要Enter personal access token >. 而後回到VSTS中建立token。點擊 帳號名稱 -> Security -> Personal access tokens -> Add -> Create token. 保存該token, 之後是查不到的。

5. 接着到服務器上,輸入token. 如圖用戶名是訪問該機器的帶域名的用戶名和密碼。建立成功後會啓動vstsagent.xxx.myGroup服務。

6. 打開myGroup -> Targets -> myGroup -> Capabilities. 看一下安裝好的屬性。也能夠在服務器上C\vstsagent\A4 打開路徑看看裏面的東西,挺有意思。

7. 接着第3步,IIS Deployment中Deployment group,選擇myGroup.

8. IIS Web App Manage中Physical path,選擇對應的物理路徑。

9. 網站部署完成後,將包中的兩個json文件拷貝到服務器上的文件夾。

10. 執行newman命令,將執行結果導出到report.html中。

11. Save -> Release -> Create Release -> Deploy。若是有錯誤能夠看Logs詳細信息,若是路徑有問題,能夠在服務器上C:\vstsagent\A4\_work_r1\a\文件夾查看下載的包,而後匹配配置項。

 

第一次寫博客,哈哈,老是看別人的,本身寫好慢啊。歡迎你們指正討論。加油!!!

相關文章
相關標籤/搜索