12

背景:我们有一个 TFS 服务器设置,我在其中管理我们的源代码并跟踪工作项和错误。我们还有 CC.Net 设置来帮助我们进行 CI(主要是构建和运行单元测试)。我们使用 .net 框架 3.5 和 VS 2008

我对 MSBuild 很熟悉,并在我们当前的项目中使用它来完成许多预部署和部署任务。但是,我不确定 TFSBuild 的目的。我认为它在 TFS 服务器级别用于执行构建任务。但是我找不到关于我(作为开发人员,而不是我们 TFS 的管理员......开发人员只有对 TFS 服务器的读取权限)是否以及如何使用 TFS Build 来简化我的部署/CI 任务的好的文档。当我已经将 MSBuild 用于我的构建过程并且 CC.Net 已经在运行我们拥有的一组单元测试时,使用 TFSBuild 可以让我的任务更轻松/更高效吗?TFSBuild 是 CC.Net 的替代品吗?TFSBuild 与 Visual Studio 2008 的集成怎么样?

更新:“TeamBuild”如何融入这个堆栈。不仅仅是理论,将这些东西放在一起的简单示例将非常有帮助。现在,我们只做两件事:使用 MSBuild 执行部署任务(更新配置文件、版本信息、将应用程序发布到远程服务器),然后 CC.Net 接管。我在哪里可以将 TeamBuild/TFSbuild 放入这张图片中。更重要的是,我需要那个吗?我知道每个人都有不同的要求,但它一般可以帮助吗?我从使用 TFS 构建的答案之一中得到的一个很好的理由是在某些情况下自动创建 TFS 票证。你们平时会做哪些类似的事情?

4

3 回答 3

14

TFS 在后台使用相同的 MSBuild 3.5 进行 Visual Studio 2008 在本地使用的自动构建。TFS 通过为 MSBuild 提供一个 .proj 文件来定义自己的构建序列,该文件导入特定于 TFS 的目标,并使用 Team 环境中有用的功能丰富解决方案的构建序列(即从源代码控制获取最新版本、进行构建、创建构建失败时的 TFS 票证等)

这是我试图通过提供历史观点来理解所有这些构建框架(在此处存档):(我的猜测和假设可能是无效的,但对于新手来说仍然应该是有用的概念信息)。查看名为“TFS 相关的 MSBuild 概念”的最后一节——它有一些有用的链接。

于 2009-07-01T18:48:13.770 回答
3

MSBuild 与 TFSBuild

MSBuild 是用于实际构建的技术。Team Explorer 中的“Builds”节点是一个 XML 文件,用于输入将在 MSBuild 中输入的基本参数。当您在此节点中添加构建时,它实际上会将一些文件添加到您的源代码管理树中。这些是连接到您要自定义的 MSBuild 的文件。

你可以很容易地自动化你的构建。有一个名为 tfsbuild 的命令行工具,它应该位于 %Program Files%\Microsoft Visual Studio 8\Common7\IDE 文件夹中。您指定 TFS 服务器、团队项目和构建类型(您在“构建”节点中创建的名称)。使用此命令行实用程序并使用 Windows 中的任务计划程序来调用它(程序文件 -> 附件 -> 系统工具 -> 计划任务)。

来源:MSDN 论坛

于 2009-07-01T18:36:24.443 回答
1

请参阅 Brian A. Randell 的文章Team Build 2008

此外,请参阅Learn Team SystemTeam Foundation Server以及Team System 开发人员中心中的资源。

那里有很多资源,包括初学者的资源。

于 2009-07-01T21:32:36.480 回答