1、安装Maven并配置环境变量

下载maven(windows下载zip包,linux下载tar.gz包),然后配置环境变量

在项目中使用maven,可以从java中央仓库中获取到项目所依赖的jar包,才能完成项目的部署。

1.1 Linux配置环境变量内容

export MAVEN_HOME=/usr/local/apache-maven-3.5.3  -- 选择自己正确的版本号export PATH=${PATH}:${MAVEN_HOME}/bin

配置完成后,输入source profile使环境变量生效

在终端输入mvn -v查看maven是否安装成功

1.2 Windows配置环境变量内容

添加环境变量
MAVEN_HOME=C:\Program Files\Maven\apache-maven-3.5.3在path后追加环境变量:%MAVEN_HOME%\bin

输出mvn -v检查是否安装成功

2、配置Jenkins中的jdk和maven环境变量

2.1 在Jenkins中点击系统管理->全局工具配置分别配置jdk和maven

2.1.1 配置jdk

2.1.2 配置maven

  1. 安装插件Maven Integration plugin

  2. 全局配置工具中配置maven

3 安装搭建svn

安装文档地址:

https://jingyan.baidu.com/article/870c6fc36a31d0b03fe4be3f.html

4 构建Jenkins集成项目

  1. 构建一个maven项目(需要先安装Maven Integration plugin插件)

  1. 配置源码管理(svn)

  1. 在Pre Steps下找到Build进行配置

5. 项目执行日志输出及解释

5.1 日志关键点展示

5.1.1 项目构建完成控制台输出

5.1.2 生成的jar包的路径

5.1.3 如果控制台报错找不到对应的jar包的解决办法

说明在maven的中央仓库无法下载到这个jar包,那么就需要找开发要对应的jar包然后放到控制台报错指示路径即可

5.2 日志输出完整展示

由用户 admin 启动
构建中 在工作空间 C:\Program Files (x86)\Jenkins\workspace\Maven_SVN_Jenkins02 中
Updating https://172_16_0_13/svn/MySVN at revision '2018-05-09T19:13:45.498 +0800' --quietUsing sole credentials admin/****** (SVN) in realm ‘<https://172_16_0_13:443> VisualSVN Server’
At revision 1No changes for https://172_16_0_13/svn/MySVN since the previous build
No emails were triggered.
Parsing POMs
Established TCP socket on 52378[JunitTest02] $ "C:\Program Files\Java\jdk1.8.0_144/bin/java" -cp "C:\Program Files (x86)\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-agent-1.12-alpha-1.jar;C:\Program Files\Maven\apache-maven-3.5.3\boot\plexus-classworlds-2.5.2.jar;C:\Program Files\Maven\apache-maven-3.5.3/conf/logging" jenkins.maven3.agent.Maven35Main "C:\Program Files\Maven\apache-maven-3.5.3" "C:\Program Files (x86)\Jenkins\war\WEB-INF\lib\remoting-3.20.jar" "C:\Program Files (x86)\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven35-interceptor-1.12-alpha-1.jar" "C:\Program Files (x86)\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.12-alpha-1.jar" 52378<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven:  -B -f C:\Program Files (x86)\Jenkins\workspace\Maven_SVN_Jenkins02\JunitTest02\pom.xml install
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< com.maven:JunitTest02 >------------------------[INFO] Building JunitTest02 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ JunitTest02 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ JunitTest02 ---[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ JunitTest02 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ JunitTest02 ---[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ JunitTest02 ---[INFO] Surefire report directory: C:\Program Files (x86)\Jenkins\workspace\Maven_SVN_Jenkins02\JunitTest02\target\surefire-reports-------------------------------------------------------
T E S T S-------------------------------------------------------Running com.junit.exam01.DecoExamTest
This is test A
This is test B
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec Results : Tests run: 2, Failures: 0, Errors: 0, Skipped: 0[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ JunitTest02 ---[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.BuildInfoRecorder$1; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ JunitTest02 ---[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.SurefireArchiver$2; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
[INFO] Installing C:\Program Files (x86)\Jenkins\workspace\Maven_SVN_Jenkins02\JunitTest02\target\JunitTest02-0.0.1-SNAPSHOT.jar to C:\Windows\system32\config\systemprofile\.m2\repository\com\maven\JunitTest02\0.0.1-SNAPSHOT\JunitTest02-0.0.1-SNAPSHOT.jar
[INFO] Installing C:\Program Files (x86)\Jenkins\workspace\Maven_SVN_Jenkins02\JunitTest02\pom.xml to C:\Windows\system32\config\systemprofile\.m2\repository\com\maven\JunitTest02\0.0.1-SNAPSHOT\JunitTest02-0.0.1-SNAPSHOT.pom
[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.MavenArtifactArchiver$2; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.MavenFingerprinter$1; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------[INFO] Total time: 13.063 s
[INFO] Finished at: 2018-05-09T19:14:07+08:00[INFO] ------------------------------------------------------------------------Waiting for Jenkins to finish collecting data
[JENKINS] Archiving C:\Program Files (x86)\Jenkins\workspace\Maven_SVN_Jenkins02\JunitTest02\pom.xml to com.maven/JunitTest02/0.0.1-SNAPSHOT/JunitTest02-0.0.1-SNAPSHOT.pom
[JENKINS] Archiving C:\Program Files (x86)\Jenkins\workspace\Maven_SVN_Jenkins02\JunitTest02\target\JunitTest02-0.0.1-SNAPSHOT.jar to com.maven/JunitTest02/0.0.1-SNAPSHOT/JunitTest02-0.0.1-SNAPSHOT.jar
channel stopped
Email was triggered for: Always
Sending email for trigger: Always
Sending email to: Gupan0923@126.com
Finished: SUCCESS

6. 打war包配置及出错指导

6.1 修改pom.xml文件

使用maven默认打包时打的jar包,如果要打war包需要修改pom.xml文件,修改方式如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.maven</groupId>
 <artifactId>JunitTest02</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 
 <!--  以下是添加的代码-->
 <dependencies>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.11</version>
     </dependency>
 </dependencies>
 <!--  添加代码结束-->
 
 <!-- 将这里修改为war打包的时候就可以打war包 -->
 <packaging>war</packaging></project>

6.2 jenkins打包报错解决指导

6.2.1 错误展示

修改后,jenkins打包时,发现报错如下:

6.2.2 出错原因

maven的web项目默认的webroot是在src\main\webapp\WEB-INF。如果在此目录下找不到web.xml就抛出以上的异常。

6.2.3 问题解决

在src\main\webapp\WEB-INF下建立web.xml文件

Jenkins02:Jenkins+maven+svn集成的更多相关文章

  1. Docker+Jenkins+Maven+SVN搭建持续集成环境

    Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...

  2. jenkins+maven+docker集成java发布(二)#远程发布

    jenkins+maven+docker集成java发布(一)中写了在Jenkins服务器自动部署业务,那需要将java项目部署到其他服务器怎么操作 这里需要依赖插件Publish Over SSH ...

  3. Jenkins+Maven+SVN快速搭建持续集成环境

    http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ...

  4. Jenkins+Maven+Svn搭建持续集成环境持续集成和自动部署

    Jenkins和Hudson有很深的渊源,Jenkins目前更新频繁,目前选用Jenkins为持续集成工具和自动部署 Jenkins的使用有很多的介绍,主要记录如下要点: 192.168.1.240: ...

  5. jenkins+maven+svn实现简单的一键发布

    前言      在安装之前,我想说明一下本文的目的,jenkins的一款持续集成工具,      它可以做的事情很多,其中一个主要的功能就是简化部署流程          回想一下我们的发布流程:   ...

  6. jenkins+maven+docker集成java发布(一)自动发布

    JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...

  7. Jenkins+Maven+SVN快速搭建持续集成环境(转)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...

  8. jenkins+maven+svn 持续集成环境搭建

    说明:部署传统的web应用(.war) 准备工作: (1) 系统环境:CentOS7 (2) 安装JDK:https://www.cnblogs.com/myitnews/p/11493847.htm ...

  9. Jenkins+Maven+SVN+Nexus自动化部署代码实例

    本文接着上篇安装jenkins,安装相关插件,使用我们公司持续集成的测试环境实例进行演示 ========= 完美的分割线 ========== 1.安装jenkins的maven插件 如果要使用je ...

随机推荐

  1. 使用docker-compose编排django、mysql实战

    背景: 本萌最近在部署自己开发的项目的时候发现同一套代码上传到服务器上后,部分功能莫名其妙的有点问题,服务器的各项配置都没有做过变动,所以想把项目转战到docker. 奈何刚接触docker,很多地方 ...

  2. struts下载文件

  3. 转载manifold learning一篇

    我恨自己不干活儿,不过也没辙. 早晚要学习流形的,今天先转一篇文章,以后找不到就尿了. 我真羡慕数学系的人,╮(╯▽╰)╭. 发信人: Kordan (K&M), 信区: AI标  题: do ...

  4. 【ZJOI 2018】线图(树的枚举,hash,dp)

    线图 题目描述 九条可怜是一个热爱出题的女孩子. 今天可怜想要出一道和图论相关的题.在一张无向图 $G$ 上,我们可以对它进行一些非常有趣的变换,比如说对偶,又或者说取补.这样的操作往往可以赋予一些传 ...

  5. UVA.10791 Minimum Sum LCM (唯一分解定理)

    UVA.10791 Minimum Sum LCM (唯一分解定理) 题意分析 也是利用唯一分解定理,但是要注意,分解的时候要循环(sqrt(num+1))次,并要对最后的num结果进行判断. 代码总 ...

  6. Java之IO流(字节流,字符流)

    IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...

  7. java堆溢出

    java堆是用来存储对象实例的:只要不断创建对象,GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,当对象数量达到最大堆的容量限制的时候就会产生内存溢出异常.异常对战信息为OutOf ...

  8. Android Studio 创建/打开项目时一直处于Building“project name”Gradle project info 的解决

    最近发现新版的AS,IDEA毛病不断,而且gradle的更新又给墙了,无奈啊! 进入类似如下的目录,发现如果没有对应的gradle解压文件,则在gradle官网下载完整压缩包,放入类似55xxxx串号 ...

  9. AES-NI指令集

    对于intel的AES-NI新指令集,需要i5处理器及以上的相关硬件支持.在编译时,可能会出现 /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin. ...

  10. matlab绘制实用日历实例代码

    function TheStudy;%函数名 close all;%关闭所有床头 DD={'Sun','Mon','Tue','Wed','Thu','Fri','Sat'};%日历表头文字 figu ...