代码之家  ›  专栏  ›  技术社区  ›  wile.e.coyote

msbuild和tfsbuild的区别是什么?

  •  10
  • wile.e.coyote  · 技术社区  · 6 年前

    背景:我们有一个TFS服务器设置,在这里我可以管理源代码并跟踪工作项和bug。我们还有CC.NET设置来帮助我们进行CI(主要是构建和运行单元测试)。我们使用.NET Framework 3.5和vs 2008

    我熟悉msbuild,并在当前项目中使用它来完成许多预部署和部署任务。但是,我不确定tfsbuild的用途。我 认为 它在TFS服务器级别用于执行生成任务。但是我找不到好的文档来说明我(作为开发人员,而不是我们的TFS的管理员……开发人员只有对TFS服务器的读取权限)是否可以使用TFS构建来简化部署/CI任务。当我已经在为我的生成过程使用msbuild并且cc.net已经在运行我们拥有的单元测试集时,使用tfsbuild可以使我的任务更容易/更高效吗?TfsBuild是否是cc.net的替代方案?如何将tfsbuild与Visual Studio 2008集成?

    更新:“teambuild”如何适应此堆栈。比理论更重要的是,一个简单的例子将这些东西结合在一起会非常有帮助。现在,我们只需要做两件事:使用msbuild执行部署任务(更新配置文件、版本信息、将应用程序发布到远程服务器),然后由cc.net接管。我可以在哪里将teambuild/tfsbuild放入此图片。更重要的是,我需要吗?我知道每个人都有不同的要求,但它一般都能帮助我们吗?我从使用tfs build的一个答案中得到的一个很好的原因是在某些情况下自动创建tfs票据。你们通常做什么?

    3 回复  |  直到 12 年前
        1
  •  14
  •   Andriy Volkov    12 年前

    TFS在引擎盖下使用与Visual Studio 2008本地使用的自动生成相同的msbuild 3.5。TFS通过向msbuild提供一个.proj文件来定义自己的生成序列,该文件导入特定于TFS的目标,并使用团队环境中有用的功能丰富解决方案的生成序列(即,从源代码管理中获取最新版本,进行生成,如果生成失败,则创建TFS票证等)。

    这里是 my attempt at making sense of all these build frameworks 通过提供历史视角:(我的猜测和假设可能无效,但对noobs来说仍然是有用的概念信息)。签出最后一个名为“与tfs相关的msbuild概念”的部分——它有一些有用的链接。

        2
  •  3
  •   Sampson    15 年前

    msbuild与tfsbuild

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

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

    来源: MSDN Forums

        3
  •  1
  •   John Saunders    15 年前

    请看这篇文章 Team Build 2008 布莱恩·兰德尔。

    另外,请参阅 Learn Team System Team Foundation Server 以及 Team System Developer Center .

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