TFS2017持续集成构建
TFS2017发布已经有几个月了,经过了几天的部署和尝试,TFS2017的功能变化真是挺大的。特别是在构建方面的变化,在产品的向导中已经声明XAML版本控制器和代理已经弃用了,并建议升级原来13和15中的生成升级迁移到新的生产系统中,但同时,估计是保留向前兼容的原因吧,又提供了XAML配置的模式。
首次再on premise环境中使用TFS2017的构建,还是经历了一番曲折的,不过经过十几次的尝试还是最终构建成功了,小激动也随之而来。下面是从准备项目、创建生成定义到集成构建的整个过程。
1, 创建一个典型的Asp.net 的MVC项目,并加入的VC库中。

Figure 1 基于VS内置项目模版创建的Web项目
2, 创建生成定义,其中又几个小坑,要合理配置,不然的话是构建不成功的。

Figure 2 指定构建解决方案文件

Figure 3 配置一个共享文件夹作为发布路径

Figure 4 指定发布路径
3, 触发构建,代码签入时自动触发,也可手动触发

Figure 5 手工触发构建
4, 构建结果

Figure 6 构建结果
上面的过程是比较正常和简单的,因为TFS毕竟是一个成熟并且非常优秀的产品,面对用户的许多功能是开箱即用的。但是面对配置管理员,安装和配置构建代理还是需要对TFS的构建机制有所了解的。
TFS2017的构建代理可以部署在任何的可以连接TFS服务的工作机器上,这一点非常赞,构建服务和TFS服务之间无需紧密的耦合,只需要把构建代理注册到服务器上,注册的过程也是在构建服务器上,只需要一个可以访问TFS的账号就可以了。(开发人员都可以临时把自己的开发环境注册成一个代理服务器,按需生成自己的项目)。
配置过程有如下:

Figure 7 从TFS上下载代理

Figure 8 安装代理并作为服务启动

Figure 9 验证服务是否启动
TFS2017持续集成构建的更多相关文章
- Jenkins + Github持续集成构建Docker容器,维基百科&人工自能(AI)模块
		本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务. Jenkins采用2.5版本Docker采用 ... 
- Jenkins持续集成构建
		配置Sonar.Jenkins进行持续审查 http://go2live.cn/archives/38261.html Jenkins iOS 项目持续集成 http://go2live.cn/arc ... 
- Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建
		详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ... 
- gitlab和jenkins做持续集成构建教程
		背景介绍 上一个轮回,我花了三篇文章的时间着重向大家介绍了在条件有限的情况下,如果优雅地进行前端发版和迭代.庆七一,热烈庆祝香港回归,人民生活水平越来越好,昨天上午我自掏腰包买了台服务器,决定由冷兵器 ... 
- Jenkins持续集成构建自动化测试项目
		1.配置内容安全策略(配置一次): 1.1.构建一个自由风格的软件项目 1.2.Build Triggers:Build when job nodes start 1.3.Build:Execute ... 
- gitblit系列七:使用Jenkins配置自动化持续集成构建
		1.安装 方法一: 下载jenkin.exe安装文件 下载地址:https://jenkins.io/content/thank-you-downloading-windows-installer/ ... 
- Jenkins Pipeline+Maven+Gitlab持续集成构建问题集锦
		问题 1.全局配置一定要写正确,之前where git 给的地址时E:\Git\cmd\git.exe一直报错,其实Windows真正的git.exe在bin目录下 如果是Linux中,使用where ... 
- Jenkins Pipeline+Maven+Gitlab持续集成构建
		http://www.cnblogs.com/xiaodai12138/p/9996995.html 
- 使用Docker构建持续集成与自动部署的Docker集群
		为什么使用Docker " 从我个人使用的角度讲的话 部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ... 
随机推荐
- 查看w3wp进程占用的内存及.NET内存泄露,死锁分析
			一 基础知识 在分析之前,先上一张图: 从上面可以看到,这个w3wp进程占用了376M内存,启动了54个线程. 在使用windbg查看之前,看到的进程含有 *32 字样,意思是在64位机器上已32位方 ... 
- HTML 获取屏幕、浏览器、页面的高度宽度
			本篇主要介绍Web环境中屏幕.浏览器及页面的高度.宽度信息. 目录 1. 介绍:介绍页面的容器(屏幕.浏览器及页面).物理尺寸与分辨率.展示等内容. 2. 屏幕信息:介绍屏幕尺寸信息:如:屏幕.软件可 ... 
- 深入浅出JavaScript之原型链&继承
			Javascript语言的继承机制,它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instanc ... 
- await and async
			Most people have already heard about the new “async” and “await” functionality coming in Visual Stud ... 
- C#各种同步方法 lock, Monitor,Mutex, Semaphore, Interlocked, ReaderWriterLock,AutoResetEvent, ManualResetEvent
			看下组织结构: System.Object System.MarshalByRefObject System.Threading.WaitHandle System.Threading.Mutex S ... 
- ,net core mvc 文件上传
			工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvi ... 
- 在禅道中实现WORD等OFFICE文档转换为PDF进行在线浏览
			条件: 安装好禅道的服务器 能直接浏览PDF的浏览器(或通过 安装插件实现 ) 文档转换服务程序(建议部署在另一台服务器上) 实现 原理: 修改禅道的文件预览功能(OFFICE文档其使用的是下 ... 
- Linux基础介绍【第一篇】
			Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ... 
- Configure a bridge interface over a VLAN tagged bonded interface
			SOLUTION VERIFIED February 5 2014 KB340153 Environment Red Hat Enterprise Linux 6 (All Versions) Red ... 
- Linux设备管理(三)_总线设备的挂接
			扒完了字符设备,我们来看看平台总线设备,平台总线是Linux中的一种虚拟总线,我们知道,总线+设备+驱动是Linux驱动模型的三大组件,设计这样的模型就是将驱动代码和设备信息相分离,对于稍微复杂一点的 ... 
