Linux CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布
CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布
by:授客 QQ:1033553122
目录
一、实践环境
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(如果没的话)
三、安装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
Status,Manager
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)系统管理-插件管理
1)Deploy
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】
代码结构如下:
选择Subversion,填写版本库代码url
如上,提示No
credential,点击
enter
credential,打开如下界面
如上,填写代码库所在url及用户名称和密码,点击【OK】提交
返回到刚才的页面,刷新,重新填写,结果如下
构建触发器
说明:
1)Poll
SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。
2)Build
periodically:按给定周期,定时构建(它不管源码是否发生变化)
示例:
*/60 * * *
*
(意为每60分钟检查一次源码变化)
0 2 * *
*
(每天2:00
执行一次构建)
这里和linux
crontab文件配置是一致的。
参考连接:
[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:填写要发布至远程服务器的位置,通常是tomcat的webapps
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
Linux CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布的更多相关文章
- Linux centos7 下 svn 服务器搭建
摘自:https://www.cnblogs.com/mymelon/p/5483215.html 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在 ...
- Linux CentOS下安装Tomcat9
本文讲解在Linux CentOS下安装Tomcat9,以及Web项目的部署发布. 环境:阿里云ECS 云服务器Linux CentOS 使用XShell客户端连接服务器,进行操作实践. 1.下载To ...
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- Linux(CentOS7)下配置多个tomcat
记录 Linux(CentOS7) 下配置多个 tomcat 的操作过程. 一.下载tomcat 前提:安装配置好jdk环境,未配置可参考Linux(CentOS7)下安装jdk1.8. 从 tomc ...
- Linux(CentOS7)下安装jdk1.8
Linux(CentOS7) 下安装 jdk1.8 操作过程. 一.检查是否自带jdk rpm -qa|grep java 如果存在则用下面命令删除,xxx yyy zzz代表查询出来的自带jdk名称 ...
- Linux(CentOS7)下Nginx安装
记录一下 Linux(CentOS7) 下 Nginx 安装过程 一.准备工作 版本说明: Linux版本:CentOS 7 64位 Nginx版本:nginx-1.20.0 1. 下载安装文件 采用 ...
- Linux(CentOS7)下二进制安装MySQL5.7.26
记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
- linux系统下svn服务器操作命令
linux系统下svn服务器操作命令 .输出指定文件或URL的内容. svncat 目标[@版本]…如果指定了版本,将从指定的版本开始查找. svncat -r PREV filename > ...
随机推荐
- Oracle数据库导入报ORA-39083处理
------故障描述--------------------报错信息:ORA-39083: 对象类型 DEFAULT_ROLE 创建失败, 出现错误:ORA-01919: 角色 'ROLE_EMSP' ...
- webgl之绘图要点
3D世界是由点组成的,两个点组成一条直线,而三个点就可以组成一个三角形,通过三角形就可以组成任意形状的物体,而这种组成的物体我们称为Mesh模型,接着Mesh模型加上纹理就组成了真实的3D世界.下面我 ...
- vue中请求本地的json数据
为什么要请求本地的数据?模拟后台的请求数据,验证页面的逻辑是否存在问题,抛开后台提前开发等. 常用的说来有:jq的方式 约等于 axios的方式,vuex状态管理的方式 个人认为最好用的就是jq的方式 ...
- Java 内存分配及垃圾回收机制初探
一.运行时内存分配 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域. 这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则 ...
- django中url,静态文件,POST请求的配置 分类: Python 2015-06-01 17:00 789人阅读 评论(0) 收藏
平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面 ...
- Python -----issubclass和isinstance
issubclass用于判断一个类是否为另一个类的子类,isinstance用于判断一个对象是否某类的一个实例 import math class Point: def __init__(self, ...
- [原创]EF架构随心所欲打造属于你自己的DbModel
前言 我们都知道EF可以生成Dbmodel,系统生成的Model有时候并不是我们想要的,如何我们要生成自己的Model,那么久需要我们手动的去修改T4模版,T4是对“Text Template Tra ...
- docker cgroup 技术之memory(首篇)
测试环境centos7 ,内核版本4.20 内核使用cgroup对进程进行分组,并限制进程资源和对进程进行跟踪.内核通过名为cgroupfs类型的虚拟文件系统来提供cgroup功能接口.cgroup有 ...
- Eclipse 下Spring cloud项目集成开发插件Spring Tool Suite (STS) 安装
安装eclipse插件 Help->Eclipse Marketplace-> Search中查找"Spring Tool Suite (STS) for Eclipse&quo ...
- Linux Tomcat日志查看实用命令
实用命令: 查看tomcat运行日志 tail -f catalina.out 通过关键字搜索查看日志 cat jeewx-2015-09-20.log | grep 验证码 查看固定时间日志 cat ...