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. Qt5 开发 iOS 应用之访问 SQLite 数据库

    开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 iPhone 6S+iOS 10.1.1   源代码: 我在 Qt 程序里指定了数据库的名称来创建数据库,在 Win10.An ...

  2. 【.NET深呼吸】应用上下文(AppContext)

    在.net 4.6中新增了一个类,叫AppContext,这个家伙嘛,技术含量不算高,只不过是在编程的时候可以方便用用而已.应用上下文允许定义一个标识(用字符串表示),并且在应用程序运行期间可以切换状 ...

  3. 坎坷路:ASP.NET 5 Identity 身份验证(上集)

    之所以为上集,是因为我并没有解决这个问题,写这篇博文的目的是纪录一下我所遇到的问题,以免自己忘记,其实已经忘了差不多了,写的过程也是自己回顾的过程,并且之前收集有关 ASP.NET 5 身份验证的书签 ...

  4. Objective-C runtime的常见应用

    用Objective-C等面向对象语言编程时,"对象"(object)就是"基本构造单元"(building block).开发者可以通过对象来存储并传递数据. ...

  5. CloudNotes之桌面客户端篇:笔记撰写样式的支持

    最近在CloudNotes桌面客户端中新增了笔记撰写样式的功能.当用户新建笔记的时候,可以在输入笔记标题的同时,选择笔记撰写样式,由安装包默认提供的样式主要有默认样式(Default).羊皮纸样式(L ...

  6. Jquery中的bind(),live(),delegate(),on()绑定事件方式

    博客转载为作者:枫上善若水http://www.cnblogs.com/xilipu31/p/4105794.html 前言 因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到d ...

  7. 《JavaScript 代码优化指南》

      ~~教你向老鸟一样敲代码~~. 1. 将脚本放在页面的底部 ... <script src="./jquery.min.js"></script> &l ...

  8. 用c-free 5写一个入门的程序

    本文记录了在windows系统中使用C-FREE 5新建一个Hello HoverTree程序的步骤. 安装好C-Free 5之后,打开.新建一个工程: 附C-Free 5下载:http://hove ...

  9. sql 补齐字段位数

    select top 100 lmdte, right(replicate('0',6)+ltrim(lmtme),6) from smtpdsum where lmdte <> 0

  10. 【无私分享:ASP.NET CORE 项目实战(第十二章)】添加对SqlServer、MySql、Oracle的支持

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 增加对多数据库的支持,并不是意味着同时对多种数据库操作,当然,后面,我们会尝试同时对多种数据库操作,这可能需要多个上下文,暂且 ...