什么工具相当于TFS(或MS-land)中的Maven?

时间:2008-11-19 21:02:56

标签: maven-2 tfs msbuild

我的公司正在从svn(和开源产品)转向TFS(和MS产品)。我们过去曾使用maven将预先构建的组件打包成可立即发布的软件包。 TFS或MS-Land中有一个像maven一样强大的工具吗?

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

3 个答案:

答案 0 :(得分:7)

在官方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提供了诸如构建计划,持续集成,构建保留管理等功能。您还可以使用我工作的公司的免费(和开源)build extensions轻松调用现有的Ant构建(Teamprise )。

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

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

希望有所帮助,

马丁。

答案 1 :(得分:4)

没有类似的东西,MSBuild不像Maven,MSBuild就像Ant。当然,如果Ivy可以让Ant更像“Maven-like”,有人可以创建像Ivy这样的东西,但对于MSBuild而言,让它更像“Maven-like”。

尝试创建像maven这样的名为NMaven的东西,但它现在已经死了。其他尝试是 NPanday Byldan 。但我不确定这两个项目的状态。

答案 2 :(得分:3)

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