我的公司正在从svn(和开源产品)转向TFS(和MS产品).我们过去曾使用maven将预先构建的组件打包成可立即发布的软件包.在TFS或MS-Land中是否有像maven这样强大的工具?
我看过msbuild,但它似乎不如Maven强大.
在官方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)的免费(和开源)构建扩展来轻松调用现有的Ant构建.
有趣的是,我们实际上正在与Team Foundation Build进行Maven2集成.我们开发了一个与TFS对话的Maven2 SCM提供程序,我们目前正在开发Team Build Extension,以便您可以从Team Foundation Build轻松调用Maven2构建.如果您希望坚持使用Maven进行构建并测试我们的Maven集成,那么请给我发一条线(martin@teamprise.com).
我有兴趣听听你是否使用Maven构建.NET或Java项目(或其他东西或所有东西的组合)
希望有所帮助,
马丁.