使用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
若是没有使用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选项卡中找到它。

咱们将了解构建中如何处理变量、设置不一样的触发器机制等等。
动手实验