使用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选项卡中找到它。
我们将了解构建中如何处理变量、设置不同的触发器机制等等。