基于 TeamCity 的持续集成环境: TFS

上篇介绍了 SVN 这个版本控制系统,而对于 .Net 开发人员来说,用得更多的则是 TFS(Team Foundation Server)。很多同学可能觉得 TFS 与 SVN/Git 类似,就是一个版本控制系统,而实际上该功能仅仅是 TFS 的一部分,官方对该部分的命名叫 TFVC(Team Foundation Version Control)。

那 TFS 到底有什么功能呢?下面引用官方的描述:

可供团队共享代码、跟踪工作情况和交付软件的企业级服务器(不受语言限制并以单包形式提供)。

-- TFS

从官方的宣传页面,可以看到 TFS 的几大核心功能:版本控制(这也是本文的核心)、面向敏捷团队的工具(比如看板)、持续集成(包括构建、测试和部署)。而且 TFS 不受语言和开发工具限制,支持所有的开发语言并为主留的 IDE 提供了插件,且极具可扩展性,开发人员可以利用 REST API 和 OAuth 2.0 等开放标准开发自定义工具,轻松与 TFS 进行集成。

TFS 除了可以与 TFVC 搭配使用外,还可以与 Git 搭配使用。而且 TFS 还提供了 online 的版本供小团队免费使用以及 Team Service 这个云服务。


本文并不会对 TFS 的所有功能进行介绍,只会介绍 TFVC,这才是与 TeamCity 相结合的部分。

安 装

本文使用的是 Windows Server 2008 R2 Enterprise 的虚拟机,TFS 2012 Express Update 4 版本。

其中 Express 版本有如下几个限制:

* 只适合团队成员小于或等于5个用户时使用

* 只支持 SQL Server Express Edition

* 只能装在一台服务器上(没有多个服务器的配置)

* 不包括 TFS 代理服务器和超前分析加载项


除此之外,Visual Studio 最好也是 2012 或以上,TFS 的客户端工具(Team Explorer)已经被集成在内。

注意,因本人未测试,无法保证 VS 2012 以下的版本中所集成的 Team Explorer 能与 TFS 2012 完美搭配。本人之前安装的是 TFS 2015 Express 和 Visual Studio 2012 Premium,虽然 VS 能连接到 TFS,但是很多地方会有问题,因此才重新安装了 TFS Express 2012。


安装完成后,点击 "Close",打开控制台界面,在该界面上可以看到 TFS 的一些基本信息,并且可以通过配置的网站来管理 TFS。

TFS 中版本控制的基本单位是 Team Project,只有当把源代码挂接到某个 Team Project 才能使用 TFS 的功能。而 Team Project Collection 则用于管理多个 Team Project。

上图摘自 MSDN --《Manage team project collections

同一个 Collection 中的不同的 Project 共享:TFVC、Work Item 以及 Security。因此,如果希望不同的 Project 共享这些信息,则应该考虑放在同一个 Collection 中。

创建 Team Project

要想让团队成员协作开发,首先要建立一个 Team Project,然后才能把源代码提交到 TFS。打开 Visaul Studio,选择 File -> Team Project。

填写 Team Project 名称,e.g. TestTFSCI。

建立完成后,就可以在 Visaul Studio 中的 Team Explorer 中看到当前用户的一些基本信息。



签入源码

在你的解决方案上右键选择 "Add Solution to Source Control..."

然后在弹出的窗口中选择要提交的目录,e.g. SourceCode,选择 "OK" 后就可以看到解决方案及所有的文件前多了 "+"。

选择需要提交到TFS的文件,右键选择 "Check In..."

在 Team Explorer 中确认此次提交的文件是否包含在内,然后填写清晰的注释及关联工作项(本文只介绍 TFVC 的功能,关于项目管理方面的功能将在之后的其它文章中介绍)。


选择 "Check In" 就完成了本次的签入,TFS 管理员可以配置一些签入的策略(e.g. 编译通过等)来对本次要签入的文件进行检查,只有满足策略的签入才是允许的。

签入后,原来文件前的 "+" 就会变成一把小锁。之后,可以在 "Source Control Explorer" 中右键单击来查看历史记录,如:

双击就可以查看该次签入的详细信息。

签出并修改

如果要对源码进行修改,需要先进行签出,然后才能进行修改,修改后的文件再如上步骤进行签入,这样其它项目开发人员就可以获取到你的更新。

默认情况下,Visual Studio 会在文件进行修改的时候自动进行签出。

分 支

如果想要在不影响当前开发的前提下,同时开始新功能的开发,可以考虑使用“分支”。并在之后某个点使用 Merge 把两个分支合并在一起。


文章索引

[隐 藏]

本站采用知识共享署名 3.0 中国大陆许可协议进行许可。 ©2014 Charley Box | 关于本站 | 浙ICP备13014059号