TFS持续集成

TFS持续集成的就是跟踪代码变动,合并,可以自定义脚本,任务进行自动化测试,发版,部署,有点像docker的味道。在这个代理服务器分布式中tfsserver起着可以随时拿去最新代码可以统一执行任务的角色,所不一样的是代理服务器仅仅是执行具体的编译,而tfs起着统一管理,调度,安排的做用。html

那么tfs持续集成是怎么实现的?前端

1 来看一篇博客node

http://www.cnblogs.com/zjoch/p/5741499.htmlgit

先要理解tfs的持续集成的架构,即分布式架构,一个服务器能够配置多个代理池,每一个代理池能够注册不一样的代理服务器,每一个代理服务器能够被定义多个任务docker

那么首先来解释一下代理池是什么?shell

代理池其实就是一个容器与线程池的机制相似,他动态的监视代理服务器的状态,当还有任务须要执行,在代理池中分配空闲的代理服务器给任务进行执行,就是这么简单的理解就能够了npm

 

2 代理服务器windows

是的代理服务器,就是至关于公司部署了一个tfsserver,比我这个server是12的地址,有一天我本身下载一个代理服务器包到本地执行相关的配置命令而后搞一个windows服务器启动起来去tfsserver认证就能够了,其实认证的时候也就注册了,两边分布式的进行,注册上了就能够给代理池使用了。缓存

 

3 注册代理服务器的过程蛋疼的事儿服务器

不得不说windows  ms应该是一直以来都没有把权限机制吃透,因此会出现不少权限的奇怪问题,也有像博客里面提到第一个注册的时候代理服务器是红色的也就是受权失败了,我也是删掉,再来注册配置,饭饭服务搞了几回才神奇的变绿了,哎 我那个去搞不懂ms这个权限咋个在作的。

 

有一天我要迁移tfs代理服务器的代理池,因而乎就要从新来一次了,将代理从原有池中删除,运行代理服务器的cmd来注册,注册到目标代理池发现注册上告终果不起做用,删掉再试也不行,果真ms是使用了ie作的代理服务器来链接tfs中心服务器,ie天然要缓存你在tfs中心服务器上的帐号,他会使用这个去登录验证你的tfs使用权限,而且ie中须要将tfs服务器地址添加到受信任的站点里去,哎ms真他妈蛋疼。而后就ok了

具体详细的流程是

1 运行ConfigureAgent.cmd

2 在输入帐号的时候就是输入你本身机器的当前用户和密码

3 若是注册事后在tfs上去看发现是红色的

4 打开ie把tfs地址粘贴进来访问tfs,而后输入你在tfs上使用的帐号和密码(注意tfs须要域好比个人是esp/xiangxiaode),而后登录进去,而且把他加入受信任的站点。

5 在代理池把代理删掉,再从新注册ok,变绿色了可使用了

6 把自定义的生成脚本使用的代理池修改一下

 

 

4 关于tfs角色

1)代理池管理员

也就是可以管理代理池的用户

2)代理服务器管理员

也就是代理服务器注册的时候须要的用户,每次都会带着这个用户去作验证,因此这2个角色要搞起哦

这里专门有一篇帖子说过这个事情

http://www.cnblogs.com/danzhang/p/6136149.html

 

5 之因此我在本地搞了一个服务器的缘由

本来tfsserver本地已经配置了net mono的编译环境了,可是可是如今咱们使用了angular来作前端开发,那么前端开发使用git方式托管,天然也是要可以持续集成的。可是可是问题在于tfsserver是一台内网服务器,他没有连接外网的能力因此nodejs,npm那一套在线化安装就不灵了,这个时候我本地呢,就有前端开发环境,也能够联网因此就把本地配置了一个代理服务器来实现自动发版的须要,方便测试人员更新版本。

6 在执行配置服务脚本的是遇到须要升级powershell

具体能够参考:http://www.cnblogs.com/wenBlog/p/6198354.html,按照说明升级便可