jiangyongtao

Windows Phone 世外涛缘

导航

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

1.从VSTS帐户进入到Build

2.编辑构建定义并单击Options

这里写图片描述

Description:如果这里明确描述,当在团队项目的Build区域中选择它时,它会显示在构建定义的名称旁边。

Build number format:如果将其留白,那么完成的构建将被赋予一个惟一的整数作为其名称。但是可以为团队提供更有意义的名称。可以使用字母、变量和下划线的组合。

Default agent queue:选择连接到包含您想要运行该定义的代理池的队列。要构建代码或部署软件,至少需要一个代理,随着添加更多的代码和人员,将会需要更多的代理。

Build job authorization scope:指定构建作业的授权范围。项目集合*,如果构建需要访问多个团队项目。*

Demands:使用demands来确保构建需求在运行它的构建代理上运行。Demands通过构建步骤或手动声明。

3.点击Triggers。在触发器选项卡上,指定触发构建的事件。可以对CI和计划构建使用相同的构建定义。

Continuous integration (CI):如果希望构建在某人签入代码时运行,请选择该触发器。

Batch changes:如果有很多团队成员经常上传更改,并且希望减少正在运行的构建的数量,那么勾选这个复选框。如果选择该选项,当构建运行时,系统将等待直到构建完成,然后对尚未构建的所有更改使用一个新构建进行排队。如果正在使用批处理更改,还可以指定每个分支并发构建的最大数量。

Branch filters: 可以使用通配符指定要触发构建的分支。

Path filters:还可以指定路径筛选器来减少要触发构建的文件集合。.
这里写图片描述

4.点击Scheduled。选择想要运行的构建,配置相应的日期和时间。

这里写图片描述

5.点击Retention选项卡。在大多数情况下,不需要完成的构建超过一定天数。保留策略会自动删除旧的已完成的构建,以减少混乱。可以在构建定义的Retention选项卡上修改这些策略。

6.单击Variables选项卡。可以添加新的用户定义的变量。

  • BuildConfiguration: 发布
  • BuildPlatform: 任何cpu
  • WebDir: src/MyHealth.Web Secret Variables:建议如果变量包含了密码、密钥或其他一些需要避免暴露的数据,那么就应该对其进行保密。

这里写图片描述

现在,修改构建步骤使用新的变量。单击**npm**任务,并在工作目录属性中使用**WebDir**变量。

这里写图片描述

任务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持续集成(一)——构建ASP.NET Core)
相关资料 Visual Studio Team Services Demo Generator简介
参考文章 Continuous Integration using Visual Studio Team Services