使用Visual Studio Team Services持續集成(一)——構建ASP.NET Core

使用Visual Studio Team Services持續集成(一)——構建ASP.NET Core

概述

持續集成(CI)是將代碼儘量頻繁地集成到共享倉庫中的過程。在代碼集成期間,構建中斷或測試失敗能夠及時地通知代碼中的錯誤。html

當許多開發人員在複雜的軟件項目上進行協做時,將代碼的不一樣部分集成在一塊兒多是一個漫長而不可預測的過程。可是,若是持續地構建和部署項目,可使這個過程更加高效和可靠。git

Visual Studio Team Services簡化了應用程序的持續集成過程,不管目標平臺是什麼,或者使用的是什麼語言,VSTS Team Build容許:github

  • 在Linux,Mac和Windows上構建
  • 使用私有的或託管的(Azue)構建代理
  • 爲Android、iOS、Java、.NET等應用使用多平臺構建代理
  • 與工做、測試、編碼、構建和發佈的無縫集成
  • 經過實時構建狀態跟蹤構建

前置條件

要完成這個實驗室須要:web

  • Visual Studio Team Services 帳戶.若是沒有,須要建立一個。
  • Visual Studio 2017 或更高版本
  • 可使用Visual Studio team Services Demo Data generator Visual Studio team Services賬戶提供預先定義的項目數據。在本動手實驗請使用My Health Clinic模板。

若是沒有使用VSTS Demo Data Generator,能夠從GitHub倉庫中複製代碼。npm

練習1:構建ASP.NET Core

ASP.NET Core是一個用於構建web和雲應用程序的精簡和可組合框架。這裏將展現如何自動構建HealthClinic ASP.NET Core應用程序。json

若是使用演示生成器提供的項目,那麼構建定義應該自動建立。能夠在不添加或修改任務的狀況下了解在VSTS中構建管道是如何工做的。不然,能夠按照如下步驟建立一個新的構建定義。gulp

任務1:建立新的構建定義

1.從VSTS賬戶概述頁面,選擇團隊項目。

2.點擊Build and Release選項卡並選擇Builds

3.點擊New建立構建定義

這裏寫圖片描述

4.能夠從選擇一個模板開始,該模板將添加一組任務,爲正在構建的應用程序應用典型的設置,或者從一個空白的過程開始,從頭開始構建。有一個用於構建ASP.NET應用的模板。接下來將使用它。選擇ASP.NET Core (PREVIEW)並單擊apply應用構建定義的模板。

這裏寫圖片描述

5.如您所見,該模板已經應用了一組典型的關注構建ASP.NET core應用程序的任務。在不少狀況下,可能不須要作任何其餘事情,僅僅是指向正確的repo和branch就能夠了。在這種狀況下,須要對構建進行一些定製。選擇Get sources任務。能夠從各類源(包括GitHub、SVN或任何其餘Git倉庫庫)獲取代碼,可是因爲在VSTS項目自己中有對應的代碼,因此選擇這個項目。若是沒有指向正確的倉庫和分支,請更改它

這裏寫圖片描述

6.下一個任務Restore不須要更改

7.保存構建定義——將它命名爲MHC.Web.CI

My Health Clinic web應用程序依賴於節點組件和其餘的庫。須要添加任務來下載和安裝這些包,而後才能構建。在接下來的任務中,咱們將看到如何將任務添加到構建定義中。app

任務2:添加構建任務

從團隊項目中刪除未使用的repo,以組織項目的源代碼。框架

1.選擇Add Task以後選擇Package查找與該類別相關的任務,選擇npm並點擊Add。將其放置到Build任務後

這裏寫圖片描述

2.將工做文件夾更改成src/MyHealth.Web。該項目有一個json文件,npm安裝命令經過他知道須要安裝哪些包

這裏寫圖片描述
接下來,您須要運行bower來安裝web包。可使用Command Line/Shell Script工具運行Bower命令,可是更好的方法是使用Bower任務。這個任務不是現成的,須要從市場上安裝。asp.net

從另外一個選項卡,導航到市場上的Bower extension page並安裝它。當完成返回到正在編輯構建定義的選項卡時,關閉該選項卡。

1.保存構建定義並刷新頁面。應該在Package選項卡下看到Bower任務。選擇該任務並單擊Add

這裏寫圖片描述

2.選擇Bower任務並更改Bower JSONPath指向MyHealth.Web 文件夾下的bower.json文件。

這裏寫圖片描述

3.接下來須要gu重點內容lp任務。選擇Add Task,並查找Gulp from the Build**部分,將其添加到構建定義中。
這裏寫圖片描述

4.更改Gulp file path指向MyHealth.Web文件夾下的的gulp文件。

這裏寫圖片描述

5.其他的任務不須要任何更改。已經準備好運行該構建。可使構建做爲一個持續集成(Continuous Integration)構建運行,以便在分支上的每一個簽入都會觸發其運行。稍後咱們將在實驗室中看到。如今,咱們將手動運行它。

6.選擇Save & queue來保存構建定義並當即對構建進行排隊。若是已經保存了構建定義,從菜單中選擇Queue

這裏寫圖片描述

7.須要選擇要運行此構建的構建代理。能夠選擇在一個前提代理上運行構建,或者使用託管在Azure上的代理。咱們將使用Hosted VS2017代理,由於它擁有.NET core框架和構建應用程序所需的全部其餘組件。

這裏寫圖片描述

8.將看到構建等待尋找代理運行。它可能須要幾分鐘,而且一旦獲得一個代理,構建就會開始執行。當構建運行時,能夠實時看到輸出日誌。若是須要進行更深刻的分析,還能夠後續下載日誌。

這裏寫圖片描述

9.完成全部步驟以後,能夠在頂部選擇構建編號(Build number)以得到運行的詳細信息。Summary選項卡顯示了運行的摘要,包括誰觸發了它,在什麼時間,獲取了哪些代碼和提交,相關的工做項,測試等等。

這裏寫圖片描述

10.Timeline視圖將幫助您找出運行的每一個任務的時間。若是構建定義包含發佈任務,若是有任何文件被髮布,能夠從Artifacts選項卡中找到它。

這裏寫圖片描述
咱們將瞭解構建中如何處理變量、設置不一樣的觸發器機制等等。

動手實驗

類別 文章名稱
概述 Visual Studio Team Services 動手實驗
計劃 使用Visual Studio Team Services敏捷規劃和項目組合管理(一)使用團隊、區域和迭代
使用Visual Studio Team Services敏捷規劃和項目組合管理(二)VSTS中的工做項
使用Visual Studio Team Services敏捷規劃和項目組合管理(三)使用Kanban板
使用Visual Studio Team Services敏捷規劃和項目組合管理(四)衝刺計劃和任務板
使用Visual Studio Team Services敏捷規劃和項目組合管理(五)組合管理
使用Visual Studio Team Services敏捷規劃和項目組合管理(六)——VSTS儀表盤的使用
使用Visual Studio Team Services敏捷規劃和項目組合管理(七)——流程定製
Microsoft Teams 集成 (協做, 溝通 和 行爲)
使用VSTS的Git進行版本控制(一)——複製現有倉庫)
使用VSTS的Git進行版本控制(二)——提交保存工做)
使用VSTS的Git進行版本控制(三)——評審歷史記錄)
使用VSTS的Git進行版本控制(四)——在Visual Studio中管理分支)
使用VSTS的Git進行版本控制(五)——從Team Services Portal管理分支)
使用VSTS的Git進行版本控制(六)——拉取請求)
使用VSTS的Git進行版本控制(七)——管理倉庫)
相關資料 Visual Studio Team Services Demo Generator簡介
參考文章 Continuous Integration using Visual Studio Team Services
相關文章
相關標籤/搜索