VSTS/TFS Auto Build


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

Build RESTful API

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

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

3. Get sources中Server path, 這個代碼路徑很重要,因為默認設置是尋找.sln文件,所以需要配置合適的路徑。

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結果。

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

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\文件夾查看下載的包,然后匹配配置項。

 

第一次寫博客,哈哈,總是看別人的,自己寫好慢啊。歡迎大家指正討論。加油!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM