jenkins构建的war包部署到远程tomcat中

假设我们已经可以利用jenkins构建maven项目,远程的tomcat也可以正常启动,那么怎么样利用jenkins部署war包到远程的tomcat中呢?

(1) 部署之前确保远程机器中的tomcat是启动的。
jenkins在部署war包的时候,必须确保远程机器中的tomcat是启动的,否则会出现构建错误。那么怎么样确保远程机器中tomcat是启动的呢,我们可以写一个脚本用来判断,如果tomcat进程存在就表明tomcat已经存在,随后我们将进程杀死,重启tomcat。如果进程不存在,我们就直接重启tomcat。比如我们新建一个脚本vi tomcat.sh,并赋予权限chmod 777 tomcat.sh
脚本如下:
这里写图片描述
附上代码:

#这里需要加上JAVA_HOME的配置,虽然在本地的环境变量中已经配置了,但是远程调用的时候,还是需要配上的,否则执行脚本出错。
export JAVA_HOME=$HOME/java/jdk1.8.0_171
tomcat_home=/home/fangjl/tomcat/apache-tomcat-7.0.88
#【3.1】 停止tomcat变量
SHUTDOWN=$tomcat_home/bin/shutdown.sh
#【3.2】 启动tomcat变量
STARTTOMCAT=$tomcat_home/bin/startup.sh
#【3.3】 删除项目文件 如果是局部发布这句不需要 这只是正对jenkins整个war发布
rm -rf /home/fangjl/tomcat/apache-tomcat-7.0.88/webapps/report*

#得到进程ID 这里也可以简写 如果你ps -ef|grep 项目名称 可以带出PID 那么可以直接写成这样
#之前为什么写那么长 是因为在用jenkins调用脚本的时候,也会带出jenkins调用脚本的那个进程 这样kill -9 就会killjenkins进程 导致一建发布中断
#所以这里一直写到了conf文件夹目录
#如果不需要用到jenkins可以用下面简洁版 得出PID命令
#PID=`ps -ef |grep 项目名称  |grep -v grep | awk '{print $2}'`
#【3.4】 获取进程ID
PID=`ps -ef |grep /home/fangjl/tomcat/apache-tomcat-7.0.88/conf |grep -v grep | awk '{print $2}'`
if [ ! "$PID" ];then # 这里判断TOMCAT进程是否存在
    echo "进程不存在"
else
    echo "进程存在 杀死进程PID$PID"
    kill -9 $PID
fi

#【3.5】启动项目
$STARTTOMCAT   

(2) jenkins怎么远程执行这个脚本呢?
jenkins想要执行远程机器上的shell脚本,必须要在jenkins中安装ssh插件。随后在系统管理->系统设置中进行配置,如图所示:
这里写图片描述
这里写图片描述
(3)部署war包到远程tomcat中
这里写图片描述
注意:这里的账号和密码必须和远程tomcat的conf目录下的tomcat-user.xml中保持一致
给大家看一下我的tomcat-user.xml中的配置:
这里写图片描述
附上代码:

<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="fangjiulin" password="AAAAAAA" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>

这里大家可以直接将我的代码拷贝到自己的文件中进行使用,只需要修改一下username和password即可。到这里我们就可以将jenkins构建的war包,上传到远程linux系统中的tomcat中。接下来就可以在浏览器中来访问我们部署的war包。
这里写图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值