TFS的代理服务器(agent)用于持续集成编译和发布,为开发、测试团队和运维团队带来的非常便捷高效的发布和测试速度,许多企业和研发团队都在自己的研发测试平台中广泛使用这一技术。

在部署TFS代理服务器的过程中,比较常见的方案分布式部署,即根据测试和部署的需要,将TFS的应用层服务器和代理服务器部署在不同的Windows/Linux服务器上,同时实现服务器的负载均衡。这种分布式部署,通常是在企业域环境中实现的,由于所有服务器都在同一个企业域环境(或者相互信任的域)中,服务器之间通过域账户实现相互认证,部署难度大幅降低。但是在有些情况下,我们也需要工作组模式中部署TFS代理服务器,例如代理服务器在外网公有云环境中,通常情况下这样的服务器不可能加入企业域。工作组模式下的部署与域环境的部署有较大区别,本文重点介绍这种环境下的代理部署。

在部署代理服务器之前,首先需要了解几个账户的不同用途:

1. 代理池管理员(poolAdmin)

代理池管理员用于将代理服务器添加到代理池中。在部署代理之前,需要将这个账户添加到代理吃管理员中,一般我们都使用tfsadmin账户,如下图:

Figure 1 - 代理池管理员

2. TFS服务账户(tfsServiceAccount)

TFS服务账户主要用于连接TFS服务器,实现在TFS服务器上的用户认证。需要将这个账户添加到代理池的代理池服务账户中,如下图。

Figure 2 - 代理池服务账户

3. 本地服务账户(LocalServiceAccount)

本地账户建立在TFS的代理服务器上,主要用于运行本地服务(VSO Agent),在代理服务器上实现本地操作,例如编译、发布、文件复制等。这个账户的权限依赖于代理服务器在本地的操作行为,如果没有特殊安全考虑,直接将这个账户添加到本地管理员中。在工作组模式的部署过程中,我们一般创建一个域控制器上的影子账户(Shadow Account),例如本文的示例中,我创建了一个本地的.\tfsadmin账户,与域环境中的同名账户的密码相同。

接下来,我们在一台安装了Windows Server 2012 R2的服务器上安装代理

1. 下载代理程序

导航到TFS服务器根结点的控制台界面,点击下载代理按钮,保持下载的内容到本地目录,并解压缩到相应目录中,示例中我解压缩到C:\TFSAgents\Agent1

Figure 3 - 下载代理安装包

2. 安装和配置代理服务器

按照下图的操作部署代理服务器。

Figure 4 - 安装配置代理服务器

大功告成,你在TFS的管理界面中会看到已经成功的带来服务器,绿色小图标表示服务器正常运行,如下图。

Figure 5 - 查询代理服务器

【注意事项】

1. 需要使用自己创建的代理服务器账户登陆代理服务器,进行上面的操作,否则Windows系统创建的凭证与账户不一致,导致连接TFS服务器失败

2. 安装代理成功以后,编译或下载代码失败,需要检查服务器上对应的环境是否配置正确,例如tf.exe, Java JDK,Git等

http://www.cnblogs.com/danzhang/  ALM MVP 张洪君

(完)

安装TFS(2015)工作组模式代理服务器(Agent)的更多相关文章

  1. Windows2012中安装域控(DC) + SQL Server 2014 + TFS 2015

    安装域控(DC) 修改计算机名 修改固定IP 添加角色 选择“Role-based or feature-based installation” 选择本机 选择“Active Directory Do ...

  2. Team Foundation Server (TFS) 2015 安装指导

    1. 概述 微软于8月6日发布了大家期待已久的TFS 2015正式版, https://www.visualstudio.com/en-us/news/tfs2015-vs.aspx ,新版本包含的大 ...

  3. 搭建TFS 2015 Build Agent环境(四)

    在通过TFS做DI时,我们经常用到FTP文件上传.TFS发布中,提供了cURL上载文件功能.要想使用此功能,请参考下面步骤启用: 1.登录BuildAgent所在的机器 2.打开cmd(以管理员权限运 ...

  4. TFS 2015服务端安装与客户端签入项目步骤

    一.参考如下3篇文章搭建TFS2015环境 1.参考文章如下: TFS 2015(Visual Studio Team Foundation Server)的下载和安装http://www.cnblo ...

  5. 搭建TFS 2015 Build Agent环境(一)

    Download the build agent Downloading the build agent is really simple. Navigate to your TFS control ...

  6. 搭建TFS 2015 Build Agent环境(三)

    在配置时,一定要注意下面的几个地方: 1.项目集合生成服务账号 中一定要包含: 2.Build Agent机器上防止Agent的路径一定要短,不要出现特殊字符,比如:C:\Agent 3.一定要安装V ...

  7. 单机安装TFS(转载)

    一.安装操作系统:windows server 2003 + Sp2具体步骤: 1.安装windows server 2003时选用工作组(默认为workgroup).由于在工作组环境中部署,因此使用 ...

  8. TFS 2015 Update 2功能探索

    微软刚刚发布了TFS 2015 update 2的测试包,https://blogs.msdn.microsoft.com/bharry/2016/02/10/team-foundation-serv ...

  9. #VSTS日志# TFS 2015 Update 2 RC2新功能

    有段时间没有更新#VSTS日志#了,最近小编太忙,全国各地飞来飞去给各种不同的团队实施敏捷,今天冷不丁一看,呀!TFS 2015 Update 2 RC2都已经发布了.里面好东西不少,列出几个给大家瞧 ...

随机推荐

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(46)-工作流设计-设计分支

    系列目录 步骤设置完毕之后,就要设置好流转了,比如财务申请大于50000元(请假天数>5天)要总经理审批,否则财务审批之后就结束了. 设置分支没有任何关注点,我们把关注点都放在了用户的起草表单. ...

  2. 学习ASP.NET Core,你必须了解无处不在的“依赖注入”

    ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要 ...

  3. MUI 个推获取ClientID的方法

               本次是获取个推ClientID的方法              //监听消息开始             document.addEventListener("plus ...

  4. 关于 WP 开发中.xaml 与.xaml.cs 的关系

    今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...

  5. Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误

    这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...

  6. IDEA上安装和使用checkstyle,findbugs,visualVM,PMD插件

    ##安装插件步骤: 1.打开settings 2.选择plugins 3.点击"Browse repositories" 4.搜索对应内插件,点击"install&quo ...

  7. 【WPF】ChartControl的使用

    一.前言       本月正好做一些关于工程4D,5D的界面展示,正好要用到Dev控件中的ChartControl控件,也就是图表控件. 折腾了两星期完成了一个比较能说的过去的界面吧.(领导要求高,可 ...

  8. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

  9. KMP算法

    KMP算法是字符串模式匹配当中最经典的算法,原来大二学数据结构的有讲,但是当时只是记住了原理,但不知道代码实现,今天终于是完成了KMP的代码实现.原理KMP的原理其实很简单,给定一个字符串和一个模式串 ...

  10. 遍历map的四种方法

    方法一  在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用.注意:for-each循环在Java 5中被引入所以该方法只能应用于j ...