源代码管理工具TFS简介

发布时间 2023-05-25 20:45:21作者: 胡尔吉

TFS是一种为 Microsoft 产品提供 源代码管理、数据收集、报告和项目跟踪,而为协作软件开发的项目。它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台,简单的说它是管理和开发软件项目的整个生命周期的平台工具。 

其定位类似于Git,功能却比Git更为强大,TFS通常被用于企业中作为项目管理工具,即在一台服务器上安装TFS,然后将相关人员加入到组中,在Visual Studio中开发时用团队资源管理器连接到这台服务器,就可以使用强大的项目管理功能了。

它从其它类似的产品中脱颖而出,它能够用作众多集成开发环境 (IDE) 的后端,且与 Microsoft Visual Studio 或 Eclipse 一起使用时效果最佳。借助 Microsoft TFS,团队可以创建和管理工作项、史诗、故事、项目任务等,以便自始至终保持正确的轨道。

2018年XNUMX月之后发布的 Microsoft TFS 版本称为 Azure DevOps 服务器和 Azure DevOps 服务。前者是可用的本地解决方案,将 Azure DevOps 的强大功能引入专用环境。 后者是在 Microsoft 云平台 Azure 上运行的云服务。它与本地版本共享相同的代码,但不需要任何设置,因为用户只需登录到其 Microsoft 帐户并立即设置环境和创建项目。

TFS优点的优点很明显,主要体现在3点:  

1.易用性。TFS秉承了微软所有产品的特性,开发人员非常容易上手。软件使用过程中,用户会发现与日常导入操作系统、开发工具(VS),Office软件等有很多共同的体验。
2.高度集成其他工具。TFS高度集成主流的开发工具和常见的办公工具,例如Visual Studio, Eclipse,Excel, 浏览器,Project。同时,TFS提供方便的(.NET API, Java API, Rest API)集成,可以与企业现有的系统实现数据共享。
3.高度集成研发团队的工作项目。可以通过TFS的源代码,查询到代码变更的依据(需求、任务、Bug等)反过来,可以通过项目管理的数据(需求、任务、Bug等),查询到相应代码的变动。
TFS的缺点就是搭建、维护比较复杂,对硬件的要求也比较高。 
TFS的主要功能:

源代码管理

Microsoft TFS 与 Git 集成,无需任何第三方工具即可克隆存储库、添加代码和创建分支。 通过查找所有项目的代码并使用筛选器、预览代码、查看历史记录和其它源代码管理增强功能,可以最大化跨团队协作和代码共享。用户可以将分支策略设置为需要代码审阅或自动添加审阅者,并使用拉取请求来审阅分支代码并将其合并到主分支。

需求管理

由于 Microsoft TFS 与 Excel、Project 和 PowerPoint 集成,因此客户可以使用熟悉的工具说明他们的要求,并且可以根据现有要求将权限授予单个用户。得益于可配置的小部件,可以轻松从仪表板跟踪需求。

项目管理

Microsoft TFS 支持敏捷和瀑布式项目管理,具有可自定义的工作流,这些工作流由一组状态、状态之间的有效转换以及将工作项转换为所选状态的原因组成。 项目经理可以创建和组织积压工作,使用预测工具估计未来冲刺 (sprint) 中要完成的工作,在看板上可视化想法,并且通常以最适合他们的方式规划工作。

报告

Microsoft TFS可以使用SQL Server Reporting Services中的现成报告来跟踪具有综合报告的开发中软件的质量,这些报告从工作项,版本控制,测试结果和构建中汇总指标。项目管理报告提供了有关团队在sprint或发行版中要处理多少工作的见解,可以根据每个用户控制其创建和访问。

自动构建

自动化构建支持构建、测试和发布软件的速度和频率更高,并且可以通过脚本来增强这些软件,从而将业务逻辑添加到构建过程中。 保留策略会自动删除旧的已完成版本,以尽量减少混乱,而详尽的版本权限决定了谁可以定义、删除和管理构建。

实验室管理

在 Microsoft TFS 2010 中引入的实验室管理允许开发人员在虚拟机上部署和测试其应用程序。多年来,微软通过 Azure 集成、服务终结点扩展性和其它功能增强了实验室管理,这些功能使其成为构建和发布管理不可或缺的一部分。

测试

Microsoft TFS 具有全面的测试功能,支持任何应用(以任何语言)的探索性的、手动、系统和用户接受测试。可以使用 Visual Studio 创建编码的 UI 测试以测试应用程序用户界面,而 Azure 测试计划简化了探索性测试的创建。通过可自定义的测试环境,可以指定最能代表目标环境的硬件和软件组合。

发布管理功能

Microsoft TFS 通过在发布过程中引入更高的敏捷性来帮助开发人员缩短上市时间。 只需一个选择,应用程序就可以跨平台部署到管道的所有环境,并且对发布执行的所有活动的完整审计历史以及详细的发布日志和批准跟踪确保了完美的可追溯性。