TFS简介
Team Foundation Server(TFS)是一种为 Microsoft 产品提供 源代码管理、数据收集、报告和项目跟踪,而为协作软件开发的项目。可作为独立的软件,或 Visual Studio Team System (VSTS) 在服务器端后端平台。它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的平台工具。
主要功能
- 版本管理:工作区(workspace)、变更集(changeset)、标签
- 并行开发支持:多点(checkout)、分支与合并、搁置集(shelveset)
- 强化过程管理:链接工作项、静态代码分析、代码覆盖率
- 自动化构建
- 完善的权限管理
- 支持分布式开发
组件术语
- 应用层、数据层、客户端层:组成 Team Foundation Server 的逻辑层。这些层可能全部部署在同一台物理计算机上,也可能安装在多台计算机上。
- 团队项目集合:Team Foundation Server中所有数据的主要组织单位。集合可以包含一个或多个团队项目。
- 团队项目:团队用于共享开发特定软件技术或产品所需的团队活动的中心点。团队项目以团队项目集合进行组织。
- Team Foundation 管理控制台:Team Foundation Server中管理员的集中管理工具。您可以从管理控制台管理用户和权限,还可以创建和管理团队项目集合、添加和管理 SharePoint Web应用程序以在部署中使用、创建和管理虚拟实验室以及检查服务器状态。
- 服务帐户:Team Foundation中的Web服务和应用程序使用的帐户。Team Foundation Server需要使用服务帐户在服务器和Web服务之间执行操作。这些服务帐户有特定要求。
- SharePoint 产品:为基于Web的业务应用程序的协作和开发提供可伸缩、可管理的平台的软件。 您可以将一个或多个SharePoint Web应用程序包含为Team Foundation Server 部署的组成部分。若要包含这些应用程序之一,必须为 SharePoint 产品安装和配置 Team Foundation Server 扩展,并且必须在整个部署中配置权限。
- SQL Server 和 SQL Server Reporting Services:为大型联机事务处理 (OLTP)、数据仓库和电子商务应用程序提供数据库平台的软件。SQL Server 也是数据集成、分析和报告解决方案的业务智能平台。Team Foundation Server 在 SQL Server 数据库中存储其数据。您也可以选择包含运行 SQL Server Reporting Services 的服务器和自动生成团队项目报告的服务器。
安全
- 拓扑,包括运行 Team Foundation组件的服务器的部署位置和部署方式、在 Team Foundation Server 和Team Foundation客户端之间传递的网络通信以及必须在 Team Foundation Server上运行的服务。
- 身份验证,包括确定 Team Foundation Server 中的用户、组和服务的有效性。
- 授权,包括确定 Team Foundation Server 中的有效用户、组和服务是否有执行特定操作的相应权限。
此外,您还应考虑 Team Foundation Server 依赖的其他组件和服务。
在考虑 Team Foundation Server 的安全性时,必须了解身份验证和授权之间的差别。“身份验证”是指对来自客户端、服务器或进程的连接尝试所提供的凭据进行验证。“授权”是指验证尝试连接的身份是否具有访问对象或方法的权限。授权只在身份验证成功之后进行。如果连接没有通过身份验证,它在执行任何授权检查操作之前就会失败。连接成功通过身份验证后,特定操作仍可能因用户或组没有被授权执行该操作而被禁止。
拓扑端口
Team Foundation Server 部署和安全性的首要因素是部署的各个组件是否能够彼此连接以进行通信。您的目标是启用Team Foundation客户端与 Team Foundation Server 之间的连接,同时限制或阻止其他连接尝试。
Team Foundation Server 需要依靠一些特定的端口和服务才能发挥作用。可以对这些端口进行保护和监视以帮助满足业务安全的需要。必须允许Team Foundation Server网络通信在 Team Foundation 客户端、承载 Team Foundation 应用层和数据层的各个逻辑组件的服务器、Team Foundation Build 计算机以及使用 Team Foundation Server Proxy 的远程客户端之间进行传递。默认情况下,Team Foundation Server 配置为对其 Web 服务使用 HTTP。
您可以在 Active Directory 域或工作组中部署 Team Foundation Server。与工作组相比,Active Directory 提供的内置安全功能更多。可以使用 Active Directory 功能帮助保护 Team Foundation Server 部署的安全。例如,可以将 Active Directory 配置为禁止使用重复的计算机名称,这样,恶意用户就无法用运行 Team Foundation Server 的非法服务器来假冒计算机名称。若要降低同类威胁在工作组中的影响,必须配置计算机证书。
无论是在工作组中还是在域中部署 Team Foundation Server,都必须符合 Team Foundation Server 本身的要求所规定的约束。
身份验证
Team Foundation Server 安全性与 Windows 集成身份验证和 Windows 操作系统的安全功能集成在一起,其实现也依赖于后两个因素。 可以使用 Windows 集成身份验证对以下方面进行帐户身份验证:Team Foundation 客户端与 Team Foundation Server 之间的连接、承载 Team Foundation 逻辑应用层和数据层的服务器上的 Web 服务、应用层服务器和数据层服务器本身之间的连接。
不应将 Team Foundation Server 与 SharePoint 产品之间的任何 SQL Server 数据库连接配置为使用 SQL Server 身份验证,因为这种方式的安全性没有 Windows 身份验证高。在连接至数据库时,数据库管理员帐户的用户名和密码会以不加密的格式发送。Windows 集成身份验证并不发送用户名和密码,而是使用 Windows 集成身份验证安全协议向 SQL Server 传输与宿主 Internet 信息服务 (IIS) 应用程序池关联的服务帐户标识信息。
组和权限
Team Foundation Server 授权基于下列因素:Team Foundation 用户和组、直接分配给这些用户和组的权限,以及这些用户和组由于属于其他 Team Foundation Server 组而可能继承的权限。Team Foundation 用户和组可以是本地用户或组、Active Directory 用户和组,或者同时属于这两者。
Team Foundation Server 预先配置了服务器、集合和项目级别的默认组。您可以通过添加各个用户填充这些组。但是,使用 Active Directory 安全组来填充这些组可能更易于管理。利用这种方法,可以更有效地管理多台计算机或多个应用程序(如 SharePoint 产品和 SQL Server)中的组成员资格和权限。
特定的部署可能要求您在多台计算机上以及多个应用程序中配置用户、组和权限。例如,如果要将报表和项目门户包含在部署中,必须在 Reporting Services、SharePoint 产品和 Team Foundation Server 中配置用户和组的权限。在 Team Foundation Server 中,可以为每个项目、每个集合设置权限,也可以在整个部署(服务器级别)中设置权限。此外,某些权限将默认授予添加到 Team Foundation Server 中的任何用户或组,因为该用户或组会自动添加到 “Team Foundation Valid Users”
体系结构
若要分析和计划 Team Foundation Server 的最佳部署以满足业务需求,必须考虑以下各方面:
- Team Foundation 的逻辑应用层、数据层和客户端层
- 承载这些层的物理服务器的位置
- 将在您的环境中运行的 Team Foundation Build和生成计算机。
- Team Foundation Server Proxy
此外,还必须考虑这些实体之间的交互。您必须知道使用哪些 Web 服务、数据库和对象模型。而且,您还必须了解默认情况下使用哪些网络端口和协议,以及可以自定义哪些网络端口。除了其本身的服务之外,Team Foundation Server 还需依靠其他服务才能运行。
对象模型
通过 Team Foundation Server 的对象模型,Team Foundation 的逻辑层可以进行通信,软件集成商及其他公司可以自定义和扩展 Team Foundation Server 功能。
Team Foundation Server 的对象模型是一组包含下列接口的托管 API:
- Team Foundation Framework 服务
- 管理服务
- 事件服务
- 团队项目集合服务
- 注册服务
- 安全性服务
- 位置服务
- 标识管理服务
- 目录服务
- 作业服务
- 属性服务
- 版本控制对象模型
- 工作项跟踪对象模型
- Foundation Build 对象模型
Web服务
Team Foundation Server 包含一组 Web 服务和数据库,它们将单独安装和配置在承载 Team Foundation 的逻辑应用层、数据层和客户端层的一台或多台服务器上。
配置信息
Team Foundation Server 依赖于 SQL Server、Internet 信息服务 (IIS) 和 Windows 操作系统。根据部署的不同,Team Foundation Server 可能还依赖于 SQL Server Reporting Services 或 SharePoint 产品。因此,Team Foundation Server 的配置信息可存储在下列任意位置:
- IIS 数据存储区
- Team Foundation Server 的配置文件
- Reporting Services 的数据源(例如,TFSREPORTS 数据)
- Team Foundation Server 的配置数据库
- Windows 注册表
在维护 Team Foundation Server 部署时,必须考虑这些配置源。若要以任意方式更改配置,可能需要修改存储在多个位置中的信息。此外,还可能需要更改数据层和客户端层的配置信息。Team Foundation Server 包括一个管理控制台和多个命令行实用工具,可帮助您进行这些更改。不过,有些配置更改可能需要您手动进行一些调整。
同步 Active Directory 与 Team Foundation Server 之间的组标识对于在 Active Directory 域中运行 Team Foundation Server 的部署,当发生以下任意事件时,均会同步组和标识信息:
Team Foundation 的应用层服务器启动。
在 Team Foundation Server 中向组添加 Active Directory 组。
超过计划作业中指定的时间段。(默认值为一小时,Team Foundation Server 中的所有组每 24 小时更新一次。)
标识管理服务 (IMS) 与 Active Directory 同步,并且更改的标识会从服务器传播到客户端。根据作业服务的同步计划的不同,更改可能不会立即反映在 Team Foundation Server 中。 默认情况下,将在 24 小时内更新所有组,但您可以自定义此设置以更加适合部署的需求。
TFS简介的更多相关文章
- 揭秘淘宝自主研发的文件系统:TFS
目前,国内自主研发的文件系统可谓凤毛麟角.淘宝在这一领域做了有效的探索和实践,Taobao File System(TFS)作为淘宝内部使用的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优 ...
- TFS 2012使用简介(一)
最近,一直想让团队加入敏捷开发,但TFS2010用下来,并不是令人满意,还好,TFS2012横空出世了.相比TFS2010,TFS2012改进太多了,主要体现在以下方面: Team Web Acces ...
- TFS 2012使用简介
为什么使用TFS 2012进行源代码管理——TFS 2012使用简介(一) 来源:雪雁 http://www.cnblogs.com/codelove/archive/2013/03/16/2963 ...
- TFS(Team Foundation Server)简介和新手入门
在两部分的文章.我会介绍Team Foundation Server一些核心功能,着重于产品的日常应用是如何将这些功能结合使用. 作为一个软件开发.在我的职业生涯,.我常常用于支持软件开发过程中大量的 ...
- 微软在线 VSTS/TFS 使用简介,如何删除项目,帐号,获取git地址等
名称:微软 VSTS 全称: Visual Studio Team Services 地址:https://www.visualstudio.com/zh-hans/ 说明:注册就可以了使用了(如何使 ...
- 如何在 TFS 中使用 Git
对 Charley Blog 的代码进行版本控制的想法由来已久,在代码建立之初其实已经使用过 TFS 进行控制,只是后期没能好好用起来,加之后来系统环境的变化导致TFS连接丢失,便算是正式放弃了版本控 ...
- [转载]基于TFS实践敏捷-项目管理
最近,一直想让团队加入敏捷开发,但TFS2010用下来,并不是令人满意,还好,TFS2012横空出世了.相比TFS2010,TFS2012改进太多了,主要体现在以下方面: Team Web Acces ...
- TFS 2010 让安装更简单,也让VSS成为历史
一转眼VS 2010 RC(Release Candidate)版本号已经公布一月多了,RTM(Release To Manufacturer)版本号也快妥了,已经进入了最后的倒计时,仅仅等4月12号 ...
- TFS Build Definition
1. TFS Build 简介 在团队项目开发中,编译常常是一个很困难的事情! 可能你会反问编译有什么难的?不就是右键,然后点击 Build/Rebuild, 或者直接按 F5 么?这都不会,真不知 ...
随机推荐
- HTML5-样式
外部样式,内部样式,内链样式 <!DOCTYPE html> <html> <head lang="en"> <meta charset= ...
- 二进制求最大公约数&&输出二进制
Divided Land Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...
- Wireshark插件编写
Wireshark插件编写 在抓包的过程中学习了使用wireshark,同时发现wireshark可以进行加载插件,便在网上学习了一下相应的插件开发技术. 需求编写一个私有协议名为SYC,使用UDP端 ...
- [翻译]理解Ruby中的blocks,Procs和lambda
原文出处:Understanding Ruby Blocks, Procs and Lambdas blocks,Procs和lambda(在编程领域被称为闭包)是Ruby中很强大的特性,也是最容易引 ...
- 人人都是 DBA(XIV)存储过程信息收集脚本汇编
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA& ...
- 《你必须知道的.NET》读书笔记三:体验OO之美
此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.依赖也是哲学 (1)本质诠释:“不要调用我们,我们会调用你” (2)依赖和耦合: ①无依赖,无耦合 ...
- ios 设置亮度、声音;调用发短信、邮件、打电话
一,设置亮度 [[UIScreen mainScreen] setBrightness:0.5];//0.0~1.0 二,设置声音 1,添加 MediaPlayer.framework 框架 2,在需 ...
- DDD~领域服务的规约模式
回到目录 规 约(Specification)模式:第一次看到这东西是在microsoft NLayer项目中,它是微软对DDD的解说,就像petshop告诉了我们MVC如何使用一样,这个规约模式最重 ...
- php做登录注册页面及加载
//SQL注入攻击 //1.过滤用户的输入 //2.使用预处理语句 //3.写代码的时候尽量避免 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...
- 更新日志 - fir.im 新版优化上线
经过这段时间的用户反馈收集和新版本的功能调研,我们对 fir.im Rio 上传下载.应用管理再次做了调整优化.感谢之前内测用户的反馈与建议.目前 fir.im Rio 新版已正式上线,主要优化有以下 ...