Jenkins+maven+svn+tomcat 持续集成环境快捷部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins+maven+svn+tomcat 持续集成环境快捷部署相关的知识,希望对你有一定的参考价值。



搭建持续集成环境 jenkins + maven + svn + tomcat 实现自动编译打包部署



1.环境准备

(1)JDK1.8.0_131                    #不低于1.7版本,这里用最新版本

(2)Apache Maven 3.3.9        #可以选择3.2.5或者3.3.9;不要使用3.5.0版本!!

(3)SVN客户端(Subversion 1.6.11)         #程序版本控制SVN1.6.11

(4)Tomcat1.7(apache-tomcat-7.0.77)      #Tomcat7.0.77或者7.0.75

(5)Centos6.7


2.安装配置


JAVA环境安装配置

下载最新版本1.8.0_131

cd /tmp/

wget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz


tar zxf jdk-8u131-linux-x64.tar.gz -C /usr/local/

vim /etc/profile

添加如下内容

export JAVA_HOME=/usr/local/jdk1.8.0_131

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


然后执行

source /etc/profile


Maven安装

到Apache官网下载maven3.3.9版本

wget 

http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

tar zxf apache-maven-3.3.9-bin.tar.gz -C /usr/local/

vim /etc/profile

添加下面内容

export MAVEN_HOME=/usr/local/apache-maven-3.3.9

export PATH=$PATH:$MAVEN_HOME/bin


source /etc/profile

查看版本

[[email protected]calhost tmp]# mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)

Maven home: /usr/local/apache-maven-3.3.9

Java version: 1.8.0_131, vendor: Oracle Corporation

Java home: /usr/local/jdk1.8.0_131/jre

Default locale: zh_CN, platform encoding: UTF-8

OS name: "linux", version: "2.6.32-573.el6.x86_64", arch: "amd64", family: "unix"


Tomcat安装

下载Tomcat7.0_77

wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.77/bin/apache-tomcat-7.0.77.zip

 unzip apache-tomcat-7.0.77.zip

 mv apache-tomcat-7.0.77 /usr/local/

 cd /usr/local/apache-tomcat-7.0.77


安装Jenkins

wget http://mirrors.jenkins.io/war-stable/1.609.3/jenkins.war

mv jenkins.war /usr/local/apache-tomcat-7.0.77/webapps/

cd /usr/local/apache-tomcat-7.0.77/webapps/

在webapps目录下启动jenkins

执行命令  java -jar jenkins.war 

(关闭selinux和iptables)

浏览器访问jenkins   http://192.168.1.7:8080/  


安装配置svn

可以参考http://superleedo.blog.51cto.com/12164670/1888804

yum -y install subversion

mkdir /var/svn

svnadmin create /var/svn/project

svn import /etc/java  file:///var/svn/project -m "java"

 启动svn

svnserve -d -r /var/svn/project

用windows客户端检出 svn://192.168.1.7/project  测试是否成功

需要设置密码的请查看上面链接文档自行设置 


使用Maven创建项目

通过maven创建helloworld项目

cd /tmp/

使用mvn命令创建

mvn archetype:generate  -DgroupId=helloworld -DartifactId=helloworld

[INFO] Scanning for projects...

[INFO]                                                                         

[INFO] ------------------------------------------------------------------------

[INFO] Building Maven Stub Project (No POM) 1

[INFO] ------------------------------------------------------------------------

.....信息多,略去......

[INFO] Generating project in Interactive mode ##此处可能会卡住,可以选择一直等待1个小时左右就正常进行了,只要这次链接下载成功了,以后就不会出现这种情况了;也可以用重新创建时加入忽略跳过参数-DarchetypeCatalog=internal ##

.........................

.........................

Define value for property ‘version‘:  1.0-SNAPSHOT: :    ##执行到此处停止了,回车即可

[INFO] Using property: package = helloworld

Confirm properties configuration:

groupId: helloworld

artifactId: helloworld

version: 1.0-SNAPSHOT

package: helloworld

 Y: :     ##输入Y,回车

。。。。。下面等待直到成功

tree helloworld/

helloworld/

├── pom.xml

└── src

    ├── main

    │   └── java

    │       └── helloworld

    │           └── App.java

    └── test

        └── java

            └── helloworld

                └── AppTest.java

下面将创建的项目导入到svn版本库中/var/svn/project中

svn import /tmp/helloworld file:///var/svn/project/ -m "helloword"


3 配置Jenkins

浏览器访问jenkins   http://192.168.1.7:8080/ 进入Jenkins管理界面

技术分享


Jenkins Web的全局环境配置:

系统管理=>系统设置配置jdk和mvn的家目录,顺便查看自己的Jenkins家目录是否改变为自己定义的

技术分享


jenkins的家目录如下图

技术分享

jdk/mvn的配置如下图:

技术分享



mvn的仓库为了方便使用默认的:

Jenkins填写URL,SVN选择自己安装的版本

技术分享


接下来创建helloworld项目任务

新建任务

技术分享

技术分享

技术分享

pom.xml文件,选择跳过测试(不跳过测试,耗时还可能报错):

添加内容如下(clean install -Dmaven.test.skip=true)

技术分享


设置好任务后,新建工作空间,也就是执行编译打包,此过程时间会比较长,需要耐心等待

技术分享

构建完成后出现jar包,在后台工作空间中会多一个target目录

技术分享


4 构建过程中常见错误及解决方法


svn的URL配置问题,路径出现不正确或者提示要输入账号密码??

SVN的路径是项目的上一级目录,如果配置的svn有账号密码,就根据提示填入账号密码即可


找不到pom.xml??

pom.xml文件是必须的,maven创建的项目都会有这个文件,其他项目支持maven且有这个文件才行

所有测试的时候我选择用maven命令创建一个测试项目,保证不出现pom.xml找不到的问题

 


maven创建项目时在generating project in interactive mode卡住了??

解决方法是可以选择一直等待就行了大概一个小时左右,只是首次会出现这个情况(推荐等待完成)

也可以在命令后加参数-DarchetypeCatalog=internal

mvn archetype:generate  -DgroupId=helloworld -DartifactId=helloworld -DarchetypeCatalog=internal


在执行创建工作空间时候,创建不成功,出现错误??

.........

java.lang.NoSuchFieldError: DEFAULT_USER_SETTINGS_FILE

.........

这是jar冲突,版本太高引起的,maven3.5.0版本有这个问题,使用3.3.9低版本就可以了



总结:以上这些完成后,算是基础环境搭建已经成功完成,剩下的就是根据自己的项目实际情况深入学习配置使用Jenkins持续集成了,谷歌还有官网是解决各种问题的最好地方!






本文出自 “[email protected]” 博客,请务必保留此出处http://superleedo.blog.51cto.com/12164670/1920913

以上是关于Jenkins+maven+svn+tomcat 持续集成环境快捷部署的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins+maven+svn+tomcat 持续集成环境快捷部署

jenkins+svn+maven+tomcat一键构建部署

jenkins+svn+maven+tomcat一键构建部署

使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

Jenkins + Tomcat + svn + maven 自动化构件简单过程

Jenkins+SVN+maven+Tomcat构建自动化集成任务