使用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

最新文章

  1. CS.动态加载DLL.动态生成.运行代码.BS.AutoFac管理实现类
  2. Linux signal 常见的信号含义表
  3. gcc内嵌汇编详解
  4. 【EF学习笔记03】----------使用原生Sql语句
  5. 数据库 SQL :有关 NULL 值引发 TRUE、FALSE、UNKNOW 三值逻辑
  6. 好书推荐:《Game Programming Patterns》
  7. myeclipse报jar包missing
  8. Torch vs Theano
  9. windows server 2012安装.net framework3.5失败解决方法
  10. [Java]利用栈判断括号是否完整配对
  11. BackTrack5 (BT5)无线password破解教程WPA/WPA2-PSK无线password皴
  12. CountDownLatch使用详解
  13. 小试 Ninja
  14. Linux设备中的并发控制
  15. Lustre文件系统测试——obdfilter-survey测试
  16. C#中DateTime的缺陷与代替品DateTimeOffset
  17. js实现原生选项卡
  18. meter命令行模式运行,实时获取压测结果 (没试过 说不定以后要用)
  19. 如何获取Azure AD tenant的tenant Id?
  20. Python模块——subprocess

热门文章

  1. RestyCircuitBreaker --- openresty断路器
  2. 开发属于自己的Web服务器
  3. HDU 1006 Digital Roots
  4. Spring的@Transactional事务注意事项
  5. Haskell复习笔记(一)
  6. TensorFlow(2)Softmax Regression
  7. [转]Docker版本变化和新版安装
  8. [转]图解Docker容器和镜像
  9. ASP.NET Core入门
  10. BurpSuiteProxy安装使用