TFS (Team Foundation Server) 2013集成Maven构建

Team Foundation Server原生就支持跨平台的构建,包括Ant和Maven两种构建方式。通过配置构建服务器,连接TFS源代码库,可以实现持续集成构建,自动检测代码库健康状况,进而实现自动测试和部署。本文以Maven为例,介绍如何在TFS 2013的基础上实现服务器构建。

1. 前提条件

-Team Foundation Server 2013 

本文以Team Foundation Server 2013为例,实际上自TFS 2010开始就支持跨平台的服务器构建。在执行后面的操作前,首先需要用户自行安装TFS 2013服务器。安装服务器的过程比较简单,可以参考MSDN的官方文档 https://msdn.microsoft.com/zh-cn/library/vstudio/dd631902.aspx 

- Java Development Kit (JDK) 1.8

目前JDK的最新版本为1.8,你可以从这里下载http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 

- Maven 3.2.5

目前最新的版本为Maven 3.3.3,下载地址为:https://maven.apache.org/download.cgi?Preferred=ftp://mirror.reverse.net/pub/apache/ 

但是在试验过程中,发现最新的版本(3.3.3)在构建Maven项目时间,总提示“-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.”的错误,应该是这个版本的缺陷,只好降级到版本3.2.5.

这个错误在MSDN的论坛中有人反映过,但是没有找到有效的方法,降级是不得已而为之。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/47fdba6a-d6fc-4bed-9733-a68b577cd1a5/dmavenmultimoduleprojectdirectory-system-propery-is-not-set?forum=tee 

- Eclipse LUNA

Eclipse是TFS跨平台开发的重要工具,通过集成Team Explorer Everywhere,TFS在Eclipse中的功能与Visual Studio相差无几。

Eclipse的下载路径是http://www.eclipse.org/downloads/ 

并参考MSDN的文档为Eclipse安装TFS插件Team Explorer Everywhere https://msdn.microsoft.com/en-us/library/vstudio/hh301122.aspx 

2. 配置构建服务器

TFS的构建服务器可以与TFS应用层服务器部署在同一台机器上,可以独立安装配置,再连接到TFS的团队项目集合中,为TFS的团项目提供构建服务。这里以在同一台上为例。

2.1 在构建服务器上安装TFS构建扩展(TFS Build Extentions)

TFS Build Extentions为TFS提供了专门用户Maven和Ant构建的模板,用户可以从这里下载微软免费提供的Microsoft Visual Studio Team Foundation Server 2013 Build Extensions:

https://visualstudiogallery.msdn.microsoft.com/2011f516-15a7-4f9a-8b86-1e0894a75739 

2.2 配置JDK和Maven环境

- 将JDK和Maven解压缩到计算机的任意文件夹中

- 配置服务器环境变量:JAVA_HOME, M2_HOME

- 将JDK和Maven的bin路径添加到环境变量的”path”中

image

- 通过运行命令“java –version”和“mvn -v”验证Maven和Java环境配置是否正确

image

如果内网环境部署了Maven服务器(例如Sonatype nexus http://www.sonatype.com/nexus) ,可以修改Maven的配置文件,设置镜像地址,可以提高依赖库的下载速度,同时解决构建服务器不能连接互联网的问题。(如下图)

image

3. 使用Eclipse创建示例项目,并上传到TFS代码库

使用Eclipse创建Maven项目前,如果需要使用本地规范的Maven配置,还需要设置Eclipse的参数,如下图(在可以连接互联网的环境中,可以忽略这一步):

image

image

image

image

image

image

Maven示例项目创建成功

4. 配置构建定义并验证构建环境

将上一步创建的Java项目上传到TFS服务器。并使用TEE配置构建定义。

image

image

image

image

image

运行构建定义

image

image

构建成功!

http://www.cnblogs.com/danzhang 张洪君

[补充常见问题 2015.6.23]

下面补充一下TFS集成Maven实现服务器构建过程中的常见问题:

1.  在代码中清除依赖的Jar包

必须将代码中依赖的Jar包文件清除,服务器在构建过程中会自动下载/复制依赖的Jar包文件到项目中(例如lib文件夹);否则在创建war包的过程中出现“拒绝访问”的错误。

2. 尽量将构建服务器连接到互联网

Maven构建服务器可以自动下载依赖的Jar包;如果构建服务器不能连接互联网,应该将依赖的Jar包文件提前下载到Maven服务器的本地库中(Repository),并配置Maven的配置文件settings.xml(路径为C:\apache-maven-3.2.5\conf),例如:

<settings>
 <localRepository>C:\MavenRepo</localRepository>
</settings>

 

posted on 2015-06-16 23:25  danzhang  阅读(2142)  评论(0编辑  收藏  举报

导航