Linux CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布

CentOS7svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布

 

by:授客 QQ1033553122

目录

一、    实践环境. 1

二、    安装SVN(如果没的话) 1

三、    安装java 1

四、    安装Apache Tomcat 2

五、    安装maven 5

六、    安装jenkins 6

七、    Jenkins基本设置. 7

1)系统管理-系统设置. 7

2)系统管理-安全设置. 8

3)系统管理-插件管理. 9

八、    自动构建任务与自动部署. 11

 

一、实践环境

CentOS 7操作系统(CentOS-7-x86_64-DVD-1503-01.iso)

下载地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/

 

 

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

Apache Tomcat(apache-tomcat-9.0.0.M1.tar.gz)

下载地址:http://tomcat.apache.org/download-90.cgi

 

maven(apache-maven-3.3.9-bin.tar.gz)

下载地址:http://maven.apache.org/download.cgi

 

jenkins(jenkins.war)

下载地址:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins

 

Deploy to container Plugin(deploy-1.0.phi)

下载地址:https://updates.jenkins-ci.org/download/plugins/deploy/

 

以上软件包集合下载地址:http://pan.baidu.com/s/1c1xnUfu

 

 

二、安装SVN(如果没的话)

参考文章:CentOS7 下配置svn的安装及基础配置介绍

 

三、安装java

[root@localhost tmp]# mkdir -p /usr/local/java

[root@localhost tmp]# mv jdk-8u65-linux-x64.tar.gz /usr/local/java

[root@localhost tmp]#cd /usr/local/java/

[root@localhost java]#tar -xvzf jdk-8u65-linux-x64.tar.gz

……

[root@localhost java]# rm -rf jdk-8u65-linux-x64.tar.gz

 

环境变量配置

[root@localhost java]# vim /etc/profile

添加如下内容:

#added by shouke

export JAVA_HOME=/usr/local/java/jdk1.8.0_65

export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre

CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

 

 



 

[root@localhost bin]# source /etc/profile

 

查看是否安装成功

[root@localhost java]# java -version

java version "1.8.0_65"

SE Runtime Environment (build 1.8.0_65-b17)

Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

[root@localhost java]#javac -version

javac 1.8.0_65

 

参考连接:

http://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jdk.html#BJFJJEFG

 

四、安装Apache Tomcat

[root@localhost tmp]#tar -xvzf apache-tomcat-9.0.0.M1.tar.gz

……

[root@localhost tmp]# mkdir -p /usr/local/apache-tomcat

[root@localhost tmp]# mv apache-tomcat-9.0.0.M1 /usr/local/apache-tomcat/

环境变量配置:

[root@localhost java]# vim /etc/profile

……

#added by shouke

export JAVA_HOME=/usr/local/java/jdk1.8.0_65

export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre

export CATALINA_BASE=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

export CATALINA_HOME=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE:$CATALINA_HOME

[root@localhost bin]# source /etc/profile

 

设置管理员帐号密码

[root@localhost apache-tomcat-9.0.0.M1]# ls

bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

[root@localhost apache-tomcat-9.0.0.M1]# cd conf/

[root@localhost conf]# vim tomcat-users.xml

找到如下内容

 

 



 

在其下新增用户和角色

问题:怎么知道角色是啥角色呢? 如下,点击对应按钮,点击取消,

 

 



 

如下,它会告诉你怎么做的

 

 



 

可根据实际情况设置,修改后的文件配置如下

 

 



 

说明:admin用户可以访问Server StatusManager App Host Manager

, hostadmin只可访问Host Manager

 

启动Apache Tomcat

[root@localhost tmp]# cd /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/

[root@localhost apache-tomcat-9.0.0.M1]# cd bin

[root@localhost bin]# sh startup.sh

Using CATALINA_BASE:   /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

Using CATALINA_HOME:   /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

Using CATALINA_TMPDIR: /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/temp

Using JRE_HOME:        /usr/local/java/jdk1.8.0_65/jre

Using CLASSPATH:       /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/bootstrap.jar:/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/tomcat-juli.jar

Tomcat started.

[root@localhost bin]#

 

防火墙开放默认的8080端口

[root@localhost bin]#firewall-cmd --permanent --zone=public --add-port=8080/tcp

success

[root@localhost bin]#firewall-cmd --reload

 

访问测试

 

 


 

 

五、安装maven

[root@localhost tmp]# mkdir -p /usr/local/maven

[root@localhost tmp]# tar -xvzf  apache-maven-3.3.9-bin.tar.gz

……

[root@localhost tmp]# mv apache-maven-3.3.9 /usr/local/maven/

 

环境变量设置

[root@localhost tmp]#vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_65

export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre

export CATALINA_BASE=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

export CATALINA_HOME=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

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

CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE:$CATALINA_HOME:$MAVEN_HOME/bin

[root@localhost tmp]# source /etc/profile

 

查看是否安装成功

[root@localhost tmp]# mvn -v

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

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

Java version: 1.8.0_65, vendor: Oracle Corporation

Java home: /usr/local/java/jdk1.8.0_65/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"

 

参考连接:http://maven.apache.org/install.html

 

六、安装jenkins

[root@localhost tmp]# ls

jenkins.war

[root@localhost tmp]# cp jenkins.war  /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/webapps/

 

重启apache tomcat服务器

[root@localhost bin]# sh /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/shutdown.sh

[root@localhost bin]# sh sh /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/startup.sh

 

 

访问jenkins

 

 

 

七、Jenkins基本设置

1)系统管理-系统设置

 

 

 

 




 

2)系统管理-安全设置

 

 



提交后如下

 

 

 

注册并登陆

 

 

3)系统管理-插件管理

1Deploy to container Plugin

安装方法1、在线安装

系统管理->管理插件->可选插件->过滤,输入Deploy to container Plugin

 

 

 



缺点:可能无法下载,GFW太强大了

 

安装方法2、本地安装

下载插件,插件集合下载地址:

https://updates.jenkins-ci.org/download/plugins

 

Deploy to container Plugin下载地址:

https://updates.jenkins-ci.org/download/plugins/deploy/

 

系统管理->管理插件->高级->上传插件->浏览,打开.phi插件->上传

 

 

 





 

查看是否安装成功

 

 



 

八、自动构建任务与自动部署

点击 【新建】、【创建一个新任务】(从未创建过任务的情况)

 

 



如上图,填写好item名称,点击【OK

 

代码结构如下:

 

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布

 

选择Subversion,填写版本库代码url

 

如上,提示No credential,点击 enter credential,打开如下界面

 

 

 

如上,填写代码库所在url及用户名称和密码,点击【OK】提交

 

返回到刚才的页面,刷新,重新填写,结果如下

 

 

 



构建触发器

 





 

说明:

1Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。

2Build periodically:按给定周期,定时构建(它不管源码是否发生变化)

示例:

*/60 * * * *  (意为每60分钟检查一次源码变化)

0 2 * * *  (每天2:00 执行一次构建)

这里和linux crontab文件配置是一致的。

 

参考连接:

http://www.scmgalaxy.com/scm/setting-up-the-cron-jobs-in-jenkins-using-build-periodically-scheduling-the-jenins-job.html

 

 




 

 [root@localhost workspace]# pwd

/root/.jenkins/jobs/test_project1/workspace

[root@localhost workspace]# ll

total 56

-rw-r-----. 1 root root 16629 Dec 20 17:21 pom.xml

-rw-r-----. 1 root root  3235 Dec 20 17:21 readme.txt

drwxr-x---. 2 root root  4096 Dec 20 17:21 review

drwxr-x---. 4 root root  4096 Dec 20 17:21 src

drwxr-x---. 8 root root  4096 Dec 20 17:21 target

-rw-r-----. 1 root root 16664 Dec 20 17:21 版本变更记录.txt

 

注意:这里的pom设置是有讲究的,参考连接:

http://my.oschina.net/u/260244/blog/318755#OSC_h3_16

 

如上,Post steps,选择仅build成功时才运行Post Steps

 

 

 

 

 

如上,点击【增加构建后操作步骤】,选择Deploy war/ear to a container,设置远程发布项目

 

 

 

说明:

1) 构建时会在目录:/root/.jenkins/jobs/item_name/workspace/target下生成filename.war文件,本例中为:

/root/.jenkins/jobs/test_project1/workspace/target/appServer.war

2) WAR/EAR files:填写.war.ear文件所在的相对路径

3) Context Path:填写要发布至远程服务器的位置,通常是tomcatwebapps

4) 通常不勾选【Deploy on failure,即构建失败则不发布

5) 这里也可以用Publish over SSH来实现远程发布,参考连接:

http://jdkleo.iteye.com/blog/2159844

 

 



如上,点击 Add Contianer,可以选择容器类型,这里选择Tomcat 7.x,然后填写入Tomcat 管理员(具有manager-gui角色的tomcat用户),密码,Tomcat连接

 

最后提交,如下

 

 


如下,点击右侧按钮,开始第一次构建

 

 



点击连接查看Console Output

 



 

 

 

如下,第一次会根据pom.xml下载相关文件

 

 

 

 

附pdf版本下载:

CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布.pdf

 

 

 

posted @ 2015-12-20 19:17  授客  阅读(607)  评论(0编辑  收藏  举报