tfs java_TFS (Team Foundation Server) 2013集成Maven构建

article/2025/8/23 23:45:48

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

- Maven 3.2.5

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

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

- Eclipse LUNA

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

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:

2.2 配置JDK和Maven环境

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

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

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

fb782c5aa86fea8957f4127e1a3689a5.png

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

1760e813c1f314e0bccc9c905da18177.png

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

4f8696ec5d51c4f3dcd94497e3e84a39.png

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

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

d8584e1bb3a75c2ae75da99c1841541e.png

b9b850db2d7c4e8c49f7eafbe5d65afb.png

796b614b6dc246f7b3ba2db738dbf056.png

80dc98b74827c05681b76fdaa192adb8.png

6c27325baf487df2e79a715cdd907570.png

c398ff020301e55f0b59a385538adf2b.png

Maven示例项目创建成功

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

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

b99aa76f183247e98598506c1cc8cd1f.png

bf8fa1a86a11e3b57b6d4dee93af8dcc.png

85d3af31e49484c513e8434dc918718e.png

f1877c7cb54b4ee874561da5f88ecec3.png

d4edd4c951830ad17b1db6dd6eed63d2.png

运行构建定义

0a65c627681a41eaedf10c0b41d19286.png

12e85797deb90d328083333652f164d2.png

构建成功!

[补充常见问题 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),例如:

C:\MavenRepo


http://chatgpt.dhexx.cn/article/vZp08xRd.shtml

相关文章

Azure DevOps Server 2019 (TFS)安装教程

(1)安装教程: Azure DevOps Server 2019 (TFS)安装教程 - danzhang - 博客园 Azure DevOps Server 的安装教程_躺平佛系周大侠的博客-CSDN博客 1.配置数据库,使用默认的sql express 2.搜索配置, 使用默认…

TFS用户组说明和用户权限配置过程

一、TFS默认用户组的说明 服务器级别用户组: 1、TFS服务器/Team Foundation Valid Users:可以访问TFS服务器。 2、TFS服务器/Team Foundation Licensed Users:可以连接TFS服务器。这个组只在 Team Foundation Server Workgroup Edition 版本…

linux系统tfs安装,Jenkins使用TFS部署

之前发表过一篇Jenkins的文章《使用Jenkins部署.Net应用程序》,里面是使用GIT做的版本管理,今天更新下使用TFS做版本管理。 首先在插件管理中搜索tfs,我这里因为已经装了,所以在已安装列表里,没装的话在可选插件列表中…

TFS淘宝分布式文件核心存储引擎源码架构剖析实现

这里写目录标题 相关背景介绍相关设计思路介绍项目基础文件系统接口扇区文件结构关于inode为什么淘宝不用小文件存储淘宝网为什么不用普通文件存储海量小数据? 设计思路关键数据结构哈希表 代码日志mmp_file.hmmap_file.cppfile_op.hmain_mmap_op_file.cppindex_han…

webstorm TFS 插件的安装与使用

翻看网上帖子,有直接在webstrom的Plugins下载TFS插件的,很遗憾,同样的操作我始终搜索不到,跟同事要了现成的安装包 点击这里下载 1、解压后,放到websotrom的plugins文件夹里 2、重启ws,点击 File》Setting…

TFS映射关系出错的几种

服务器更换 开发小组更换了一台新的 TFS 服务器,旧的 TFS 服务器停止使用。但从客户端 VS2005 连接到新的服务器,并下载源码到本地原来工作的文件夹时,出现错误提示,说本地文件夹已被映射到了旧的服务器上,不能从新服…

IDEA安装TFS插件

现在在Plugins已经搜不到TFS插件了,只能在官网TFS - IntelliJ IDEs Plugin | Marketplace 下载对应的版本zip包,采用Install Plugins From Diak方式安装, 如果出现如下问题,那就换个版本试试看。 换个版本之后: 重启之…

TFS 操作指令

最近厂商来公司做项目,人员来来往往的很多,有人签出后没有签入就走了,只好想办法强制解除。从网上找到了解决办法,但照着做出了好多错,特此记录。 1.强制解除被独占签出的文件必须使用命令工具tf.exe 该文件在C:\Pro…

tfs java_Java SDK for TFS

Java SDK for TFS 05/19/2011 2 分钟可看完 本文内容 So you don’t use Visual Studio as your main IDE and instead use Eclipse with Team Explorer Everywhere but want to tailor TFS to suite your (and/or your teams) needs. Not a problem as with this new SDK it’…

TFS工作项模板自定义指南

概述 TFS 内置有CMMI模板、敏捷模板等过程模板,但是为了方便团队管理,TFS 提供自定义过程模板的功能。每个团队可以根据需要自定义模板界面、字段、流程等内容。 本文档将会介绍如何自定义过程模板,以及制定的要求。 环境准备 获取修改权限…

vs 的 tfs 账号更改

vs 更换账户,可能不常用,当时有时特殊化,需要进行账号更改,但是打开 vs 后发现没有地方可以注销账户的,为什么呢? 原因是这样的,当我们第一次登陆账号时,会生成一个凭据到我们的计算…

TFS的原理及应用

最近的一个项目由于原先的nas服务停了,所以没有办法,只能迁移到TFS上。这本来是一个内部的分享的。TFS本身也是开源了,所以就拿出来分享一下吧。 这里大部分内容出自TFS的开源网站及内部的wiki,下面是TFS的项目 TFS开源项目&…

TFS(Taobao File System)

简介 TFS(Taobao !FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海…

JDBC基本使用

文章目录 一、JDBC技术1.1、JDBC概念1.2、JDBC作用1.3、JDBC工作原理1.4、JDBC工作流程 二、使用JDBC访问数据库2.1、创建Maven项目2.2、添加数据库依赖2.2.1、mysql依赖2.2.2、oracle依赖 2.3、编写代码2.3.1、加载驱动2.3.2、通过DriverManager获取connection连接2.3.3、执行…

JDBC快速入门,如何使用JDBC操作数据库?

文章目录 1. 前言2. JDBC 概述2.1 概念2.2 优点3. JDBC 快速入门Java编程基础教程系列1. 前言 在 Java 开发中,使用 Java 语言操作数据库是非常重要的一部分,那么 Java 语言是如何操作数据库的呢?我们需要使用不同厂商的数据库时,例如 MySQL,Oracle 等,显然一套 Java 代…

JDBC操作数据库

数据库驱动 10、JDBC 10.1、数据库驱动 驱动:声卡,显卡,数据库 10.2、JDBC 10.3、第一个JDBC程序 创建测试数据库 1、创建一个普通项目 CREATE DATABASE jdbcstudyCREATE TABLE users ( id INT (4) PRIMARY KEY, name VARCHAR(40), pass…

JDBC中com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别

最近重装了系统,随后在官网下载了最新版本的MySQL8.0.13和相应的mysql-connector-java-8.0.13,运行程序时出现好几种错误。 之前的代码是这样的: driverClassNamecom.mysql.jdbc.Driver urljdbc:mysql:///db1?useUnicodetrue&characte…

JDBC概述

目录 一、JDBC概述二、JDBC搭建三、 PreparedStatement和Statement四、结果集处理 一、JDBC概述 1、JDBC(Java DataBase Connectivity)java 数据库连接 2、是一种用于执行SQL语句的java API ,可以为多种关系型数据库提供统一访问&#xff0c…

JDBC使用教程详解

文章目录 一、前言二、JDBC概述2.1 JDBC定义2.2 JDBC接口调用方和实现方JDBC接口调用方JDBC接口实现方 2.3 连接数据库驱动2.5 JDBC原理 三、JDBC编程url3.1URL3.3 SQL的分类 四、JDBC编程六步曲4.1 第一步:注册驱动4.2 第二步:获取数据库连接4.3 第三步…

【MySQL】JDBC编程

目录 1、什么是JDBC? 2、导入 jar 包 3、JDBC 的使用 4、总结 1、什么是JDBC? 实际开发中,SQL 是很少手动输入的,绝大多数的 SQL 都是通过代码,自动执行的,这个时候就需要让其他编程语言来操作数据库了…