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

概述

持续集成(CI)是将代码尽可能频繁地集成到共享仓库中的过程。在代码集成期间,构建中断或测试失败可以及时地通知代码中的错误。

当许多开发人员在复杂的软件项目上进行协作时,将代码的不同部分集成在一起可能是一个漫长而不可预测的过程。但是,如果持续地构建和部署项目,可以使这个过程更加高效和可靠。

Visual Studio Team Services简化了应用程序的持续集成过程,无论目标平台是什么,或者使用的是什么语言,VSTS Team Build允许:

  • 在Linux,Mac和Windows上构建
  • 使用私有的或托管的(Azue)构建代理
  • 为Android、iOS、Java、.NET等应用使用多平台构建代理
  • 与工作、测试、编码、构建和发布的无缝集成
  • 通过实时构建状态跟踪构建

前置条件

要完成这个实验室需要:

  • 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仓库中复制代码。

练习1:构建ASP.NET Core

ASP.NET Core是一个用于构建web和云应用程序的精简和可组合框架。这里将展示如何自动构建HealthClinic ASP.NET Core应用程序。

如果使用演示生成器提供的项目,那么构建定义应该自动创建。可以在不添加或修改任务的情况下了解在VSTS中构建管道是如何工作的。否则,可以按照以下步骤创建一个新的构建定义。

任务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应用程序依赖于节点组件和其他的库。需要添加任务来下载和安装这些包,然后才能构建。在接下来的任务中,我们将看到如何将任务添加到构建定义中。

任务2:添加构建任务

从团队项目中删除未使用的repo,以组织项目的源代码。

1.选择Add Task之后选择Package查找与该类别相关的任务,选择npm并点击Add。将其放置到Build任务后

2.将工作文件夹更改为src/MyHealth.Web。该项目有一个json文件,npm安装命令通过他知道需要安装哪些包


接下来,您需要运行bower来安装web包。可以使用Command Line/Shell Script工具运行Bower命令,但是更好的方法是使用Bower任务。这个任务不是现成的,需要从市场上安装。

从另一个选项卡,导航到市场上的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

使用Visual Studio Team Services持续集成(一)——构建ASP.NET Core的更多相关文章

  1. 使用Visual Studio Team Services持续集成(四)——使用构建运行测试

    使用Visual Studio Team Services持续集成(四)--使用构建运行测试 使用构建来运行测试来验证集成是一个很好的实践. MyHealth.API.IntegrationTests ...

  2. 使用Visual Studio Team Services持续集成(三)——使用工件

    使用Visual Studio Team Services持续集成(三)--使用工件 工件是应用程序的可部署组件.Visual Studio Team Services有能力在构建过程中显式地管理工件 ...

  3. 使用Visual Studio Team Services持续集成(二)——为构建定义属性

    使用Visual Studio Team Services持续集成(二)--为构建定义属性 1.从VSTS帐户进入到Build 2.编辑构建定义并单击Options Description:如果这里明 ...

  4. Visual Studio Team Services持续集成到Github仓库

    Devops如何用VSTS持续集成到Github仓库!   工欲善其事,必先利其器.在开始正式的教程之前我们先来聊聊准备工作. 管理工具会VSTS. 代码管理会用GITHUB. 服务器会用Azure. ...

  5. 使用Visual Studio Team Services进行压力和性能测试(一)——创建基础的URL压力测试

    使用Visual Studio Team Services进行压力和性能测试(一)--创建基础的URL压力测试 概述 压力测试使应用程序更加健壮,并审核在用户负载下的行为,这样我们可以在当前的基础设施 ...

  6. 使用Visual Studio Team Services进行压力和性能测试(二)——压力测试执行

    使用Visual Studio Team Services进行压力和性能测试(二)--压力测试执行 1.点击Run test将会该压力测试进行排队,我们将看到等待测试代理屏幕.Visual Studi ...

  7. 使用 Visual Studio Team Services 和 IIS 创建持续集成管道

    若要将应用程序开发的生成.测试和部署阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure 中使用 Visual Studio Team Services 和 Win ...

  8. 使用Visual Studio Team Services敏捷规划和项目组合管理(四)——冲刺计划和任务板

    使用Visual Studio Team Services敏捷规划和项目组合管理(四)--冲刺计划和任务板 团队在sprint计划会议期间创建冲刺积压工作项,通常在冲刺的第一天召开该会议.每个冲刺都对 ...

  9. 使用Visual Studio Team Services敏捷规划和项目组合管理(三)——使用Kanban板

    使用Visual Studio Team Services敏捷规划和项目组合管理(三)--使用Kanban板 1.要查看Kanban板,请单击Work>Backlogs页面上的Board 链接. ...

随机推荐

  1. sql server 高可用故障转移(5)

    测试故障转移群集报告 在SQL-CL01(hsr 50)进行故障转移群集的创建,如图下图所示,在SQL-CL01和SQL-CL02的“服务器管理”中右键点击“功能”,选择“添加功能 勾选故障转移群集  ...

  2. 可以落地的DDD到底长什么样?

    领域驱动设计的概念 ​ 大家都知道软件开发不是一蹴而就的事情,我们不可能在不了解产品(或行业领域)的前提下进行软件开发,在开发前通常需要进行大量的业务知识梳理,然后才能到软件设计的层面,最后才是开发. ...

  3. leetcode — combinations

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...

  4. c#调用c++ dll的一个例子

    1.创建一个简单的c++ 项目生成动态库. Vs 创建完工程后,打开SampleOperation.cpp文件,看到有个导出函数的例子. 复制这段代码, 修改函数(返回值, 参数列表, 函数的实现) ...

  5. MFC应用技术之CTreeControl的使用

    MFC应用技术之CTreeControl的使用 一丶MFC添加树控件.添加父节点跟子节点. MFC上面放一个树控件.并未这个树控件绑定变量.然后添加一个按钮.按钮的作用就是添加父节点跟子节点. PS: ...

  6. 【Apache Pulsar】Apache Pulsar单机环境及Go语言开发环境搭建

    0x01 简介 Apache Pulsar是一个开源的分布式发布-订阅消息系统,与Kafka类似,但比后者更加强大.Pulsar最初由Yahoo开发并维护,目前已经成为Apache软件组织的一个孵化子 ...

  7. 面向连接的TCP概述

    TCP连接概述     TCP是因特网运输层面向连接的(connection-oriented)可靠运输协议.之所以说它是面向连接的是因为  一个应用进程向另外一个应用进程发送数据之前,两个进程必须先 ...

  8. Spring之InstantiationAwareBeanPostProcessor接口介绍

      InstantiationAwareBeanPostProcessor接口是BeanPostProcessor的子接口,通过接口字面意思翻译该接口的作用是感知Bean实例话的处理器.实际上该接口的 ...

  9. NSOperation讲解

    本篇博客转自https://www.jianshu.com/p/4b1d77054b35 1. NSOperation.NSOperationQueue 简介 NSOperation.NSOperat ...

  10. Webservice开发、引用

    一.Webservice开发 1.在解决方案右键添加新建项目,新建空的web应用程序 2.在新建的项目右键添加新建项选择web服务 3.这里就是webservice 里的方法,可以添加自己需要的方法( ...