您的位置:首页 > 运维架构 > Tomcat

Linux配置Jenkins建立Maven Job持续发布项目到Tomcat

2016-04-27 15:58 761 查看

第一步 安装JDK

1.下载JDK安装文件

到Oracle官网下载JDK 下载地址

我这里是下载的jdk1.8.91版本

并将下载的好的压缩文件jdk-8u91-linux-x64.tar.gz拷贝到root用户文件夹中

2.安装JDK

以root用户登录到Linux

echo "进入待安装目录"
cd /usr/local
echo "新建java文件夹"
mkdir java
echo "进入java文件夹"
cd java
echo "拷贝安装文件到当前目录"
cp /root/jdk-8u91-linux-x64.tar.gz .
echo "解压"
tar zxvf jdk-8u91-linux-x64.tar.gz
echo "删除安装文件,也可保留"
rm -f jdk-8u91-linux-x64.tar.gz
echo "增加环境变量"
vi /etc/profile


将如下内容增加到文件末尾

export JAVA_HOME=/usr/local/java/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


保存文件并退出(:wq)

更新环境变量文件,使之立即生效

source /etc/profile
echo "测试JDK是否安装成功"
java -version


出现如下内容表示配置成功:

java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)


第二步 安装Tomcat

1.下载Tomcat安装文件

到Apache Tomcat官网下载Tomcat 下载地址

我这里是下载的Tomcat 9.0.0.M4 版本

并将下载的好的压缩文件apache-tomcat-9.0.0.M4.tar.gz拷贝到root用户文件夹中

2.安装Tomcat

以root用户登录到Linux

echo "进入待安装目录"
cd /usr/local
echo "新建tomcat文件夹"
mkdir tomcat
echo "进入tomcat文件夹"
cd tomcat
echo "拷贝安装文件到当前目录"
cp /root/apache-tomcat-9.0.0.M4.tar.gz .
echo "解压"
tar zxvf apache-tomcat-9.0.0.M4.tar.gz
echo "删除安装文件,也可保留"
rm -f apache-tomcat-9.0.0.M4.tar.gz
echo "启动Tomcat"
apache-tomcat-9.0.0.M4/bin/startup.sh


如Tomcat打印以下内容表示启动成功

org.apache.catalina.startup.Catalina.start Server startup in 692 ms


第三步 安装Maven

1.下载Maven安装文件

到Apache Maven官网下载Maven下载地址

我这里是下载的Apache-Maven-3.3.9 版本

并将下载的好的压缩文件apache-maven-3.3.9-bin.tar.gz拷贝到root用户文件夹中

2.安装Maven

以root用户登录到Linux

echo "进入待安装目录"
cd /usr/local
echo "新建maven文件夹"
mkdir maven
echo "进入maven文件夹"
cd maven
echo "拷贝安装文件到当前目录"
cp /root/apache-maven-3.3.9-bin.tar.gz .
echo "解压"
tar zxvf apache-maven-3.3.9-bin.tar.gz
echo "删除安装文件,也可保留"
rm -f apache-maven-3.3.9-bin.tar.gz
echo "增加环境变量"
vi /etc/profile


将如下内容增加到文件末尾

export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9
export PATH=${MAVEN_HOME}/bin:${PATH}


保存文件并退出(:wq)

更新环境变量文件,使之立即生效

source /etc/profile
echo "测试maven是否安装成功"
mvn -v


出现如下内容表示配置成功:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
Maven home: /usr/local/maven/apache-maven-3.3.9
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: /usr/local/java/jdk1.8.0_91/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-573.18.1.el6.x86_64", arch: "amd64", family: "unix"


第四步 安装Jenkins

1 在线安装Jenkins(推荐)

以root用户登录到Linux

echo "导入Jenkins Key,并下载安装文件"
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key echo "安装Jenkins"
yum install jenkins


安装完成后我们需要做一些基础配置:

配置Jenkins端口

echo "配置Jenkins端口 打开Jenkins配置文件"
vi /etc/sysconfig/jenkins
echo "修改JENKINS_PORT=8888 避免与Tomcat冲突"
echo "修改JENKINS_AJP_PORT=8099 避免与Tomcat冲突"
echo "修改JENKINS_USER=root 避免Job中执行Shell脚本权限不足"
echo "保存并退出(:wq)"
echo "为root用户配置访问Jenkins的权限 避免Job中执行Shell脚本权限不足"
chown -R root /var/log/jenkins
chgrp -R root /var/log/jenkins
chown -R root /var/lib/jenkins
chgrp -R root /var/lib/jenkins
chown -R root /var/cache/jenkins
chgrp -R root /var/cache/jenkins


配置Jenkins JDK 打开Jenkins配置文件

vi /etc/init.d/jenkins


找到如下代码:

candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"


添加刚才安装的java环境:

candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/local/jdk1.8.0_91/bin/java
/usr/bin/java
"


保存并退出(:wq)

启动Jenkins

echo "启动Jenkins服务"
service jenkins start


启动完成后即可登录 http://Linux服务器IP:8888/ 访问Jenkins

第五步 配置Jenkins

1.初始化配置

第一次登录Jenkins2.0 会要求输入安全令牌

点击图中的Not sure where to find the logs?里面会显示安全令牌的获取方式

具体好像是打开Linux系统中的某个文件



输入完成后会提示安装自定义插件还是推荐插件,此处我们选择推荐插件:



然后输入默认Administrator默认用户名和密码

配置完成后就可以进入Jenkins主页了



2.安装插件

依次进入Jenkins菜单 系统管理->管理插件

点击 可选插件 Tab

搜索并安装以下插件:  

- Subversion Plug-in

- Maven Integration plugin

- Email Extension Plugin

  

3.配置环境

依次进入Jenkins菜单 系统管理 -> Global Tool Configuration

配置JDK



配置Maven



配置完成后点击Save

依次进入Jenkins菜单 系统管理 -> 管理节点



新增环境变量

注意:新增此环境变量的作用是在Job执行时,改变Jenkins原有环境变量BUILD_ID,避免Jenkins检测到Job执行完毕时强制关闭Job执行过程中创建的子进程。

(比如在执行Job时启动Tomcat,如不加此变量则Job执行完毕Tomcat会随之关闭)



  

设置完成后点击保存

第六步 创建Job

1.进入Jenkins主页

2.点击新建

3.点击构建一个maven项目

4.键入项目名并点击OK

5.源码管理

5.1输入SVN项目地址



5.2添加用户密码





6.构建触发器



7.Maven 构建



8.构建后操作

部署打好的war包到Tomcat中



自动部署脚本代码:

#Tomcat根目录
TOMCAT_HOME="/usr/local/tomcat/apache-tomcat-9.0.0.M4"
#端口
TOMCAT_PORT=8080
#TOMCAT_PID用于检测Tomcat是否在运行
TOMCAT_PID=`lsof -n -P -t -i :${TOMCAT_PORT}`

#如果Tomcat还在运行
if [ -n "${TOMCAT_PID}" ]; then
#关闭Tomcat
${TOMCAT_HOME}/bin/shutdown.sh
#循环检查Tomcat是否关闭完成
while [ -n "${TOMCAT_PID}" ]
do
#等待1秒
sleep 1
#获取8080端口运行进程PID,如果PID为空则表示Tomcat已经关闭
TOMCAT_PID=`lsof -n -P -t -i :${TOMCAT_PORT}`
echo "正在关闭Tomcat["${TOMCAT_PORT}"]..."
done
echo "成功关闭Tomcat."
fi

warPath="${TOMCAT_HOME}/webapps/war包名称/"
warFile="${TOMCAT_HO
8b73
ME}/webapps/war包名称.war"

#如果文件或者文件夹存在则删除
deleteWhenExist(){
if [ -e $1 ]; then
rm -rf $1
fi
}

deleteWhenExist ${warPath}
deleteWhenExist ${warFile}

#拷贝新编译的包到Tomcat
cp 项目名称/target/war包名称.war ${TOMCAT_HOME}/webapps/

${TOMCAT_HOME}/bin/startup.sh
echo "正在启动Tomcat["${TOMCAT_PORT}"]..."

#检测Tomcat是否启动完成
while [ -z "${TOMCAT_PID}" ]
do
sleep 1
#echo "TOMCAT_PID["${TOMCAT_PID}"]"
TOMCAT_PID=`lsof -n -P -t -i :${TOMCAT_PORT}`
echo "正在启动Tomcat["${TOMCAT_PORT}"]..."
done

echo "成功启动Tomcat."


9.Job配置结束,点击保存

第七步 构建Job

进入刚才创建的Maven项目

点击立即构建



查看控制台输出



如果控制台最后显示如下信息,表示构建成功

[VCat_2.8] $ /bin/sh -xe /tmp/hudson6570402632722344885.sh
+ '[' -e /root/auto-deploy-vcat.sh ']'
+ /root/auto-deploy-vcat.sh
正在关闭Tomcat[8080]...
正在关闭Tomcat[8080]...
正在关闭Tomcat[8080]...
正在关闭Tomcat[8080]...
正在关闭Tomcat[8080]...
成功关闭Tomcat.
Tomcat started.
正在启动Tomcat[8080]...
正在启动Tomcat[8080]...
正在启动Tomcat[8080]...
正在启动Tomcat[8080]...
成功启动Tomcat.
Finished: SUCCESS
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: