MSBuild和TFSBuild之间的差异是什么?

时间:2009-07-01 18:34:57

标签: visual-studio-2008 msbuild build-automation tfsbuild

背景:我们有一个TFS服务器设置,我可以在其中管理源代码并跟踪工作项和错误。我们还有CC.Net设置来帮助我们做CI(主要是构建和运行单元测试)。我们使用.net framework 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票据。你们经常做的事情有哪些?

3 个答案:

答案 0 :(得分:14)

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

这里是my attempt at making sense of all these build frameworks提供历史观点:(我的猜测和假设可能无效,但对于新手来说仍然是有用的概念信息)。查看最后一节名为“与TFS相关的MSBuild概念” - 它有一些有用的链接。

答案 1 :(得分:3)

  

MSBuild与TFSBuild

     

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

     

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

     

来源:MSDN Forums

答案 2 :(得分:1)

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

另外,请参阅Learn Team SystemTeam Foundation Server以及Team System Developer Center中的资源。

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

相关问题