【问题标题】:What tool is the equivalent of Maven in TFS (or MS-land)?什么工具相当于 TFS(或 MS-land)中的 Maven?
【发布时间】:2008-11-19 21:02:55
【问题描述】:

我的公司正在从 svn(和开源产品)转向 TFS(和 MS 产品)。我们过去使用 maven 将预构建的组件打包成可发布的包。 TFS 或 MS-Land 中是否有像 maven 一样强大的工具来执行此操作?

我查看了 msbuild,但它似乎不如 Maven 强大。

【问题讨论】:

标签: maven-2 tfs msbuild


【解决方案1】:

在官方 TFS/Microsoft 堆栈中,MSBuild 是构建语言。然而,这更像Ant(或Nant)而不是Maven——即它是一种基于XML 的脚本语言,专为软件构建而设计,而不是使用Maven 的“约定优于配置”方法。 MSBuild 没有 Maven 非常独特的依赖管理功能。

Team Foundation Build 基于 MSBuild,但它在预定义的目标中建立了一个活动框架(类似于 Maven 中的目标)。这些活动涵盖诸如生成内部版本号、标记代码、下载代码、构建定义的解决方案、运行单元测试、将结果发布回 TFS 以及将构建结果复制到网络共享以供以后部署等项目.您可以在 Visual Studio UI 中轻松创建新的 Team Foundation Build,然后通过编辑为您创建的 TFSBuild.proj 文件覆盖在默认构建过程中调用的许多各种预定义挂钩中的一些来自定义它。建造。在某些方面,您可以认为 TFSBuild.proj 文件有点像 Maven POM 文件 - 但它们非常不同。

Team Foundation Build 2008 中的构建系统是一个不错的系统——尽管它非常受 XML 驱动。但是,如果您对 Maven 配置感到满意,那么您将对 Team Foundation Build 基于 XML 的配置感到满意。 TFS Build 提供了诸如构建调度、持续集成、构建保留管理等功能。您还可以使用我工作的公司 (Teamprise) 提供的免费(和开源)build extensions 轻松调用现有的 Ant 构建。

有趣的是,我们目前实际上正在研究 Maven2 与 Team Foundation Build 的集成。我们开发了一个与 TFS 对话的 Maven2 SCM 提供程序,我们目前正在开发 Team Build Extension,以允许您从 Team Foundation Build 轻松调用 Maven2 构建。如果您想坚持使用 Maven 进行构建并在可用时测试我们的 Maven 集成,请给我写信 (martin@teamprise.com)。

我很想知道您是否使用 Maven 来构建 .NET 或 Java 项目(或其他项目或所有项目的组合)

希望对你有帮助,

马丁。

【讨论】:

  • 您的 Maven 集成现在是公开可用的还是被放弃了?
【解决方案2】:

没有什么像它,MSBuild 不像 Maven,MSBuild 像 Ant。当然,如果 Ivy 可以让 Ant 更“类似 Maven”,那么有人可以创建类似 Ivy 的东西,但要使用 MSBuild 并使其更“类似 Maven”。

曾尝试创建类似 maven 的东西,称为 NMaven,但现在它已成为一个死项目。其他尝试是 NPandayByldan。但我不确定这两个项目的状态。

【讨论】:

【解决方案3】:

您需要查看作为 TFS 一部分的 Team Build 和 Team Build 用于自动化构建过程的 MsBuild。将这两者结合起来,您可以创建一个非常棒的构建自动化流程,例如生成 iso 映像、文档和运行单元测试。

【讨论】:

  • 这与 Paket 相比如何?
  • @JanusTroelsen 你在说 HashiCorp 的 Paket 吗?
  • 啊,您将使用 paket 作为构建的一部分进行依赖管理。
猜你喜欢
  • 2016-09-27
  • 2019-04-21
  • 1970-01-01
  • 2012-04-01
  • 1970-01-01
  • 2010-10-24
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多