持续集成工具jenkins部署发布JAVA项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持续集成工具jenkins部署发布JAVA项目相关的知识,希望对你有一定的参考价值。

一.部署环境
系统 Centos7
和上期的jenkins在一台主机,jenkins服务使用的tomcat是8080端口,本次JAVA项目部署使用的tomcat是8090端口

二.部署流程和所需工具
技术分享图片

所需工具: maven、tomcat

三.部署过程
1.修改部署JAVA项目的tomcat端口为8090
将解压的tomcat包放到/opt下
技术分享图片
修改端口为8090
vim conf/server.xml
将所有端口号都加10 ,防止与主服务冲突

2.在jenkins上创建testDeploy任务
技术分享图片

设置jenkins连接github
技术分享图片

输入项目github的账号和密码
技术分享图片
认证选择自己的账号的密码
技术分享图片

构建,构建完保存,deploy.sh脚本下面介绍
技术分享图片
之前安装好的maven模块,现在需要调用
技术分享图片

执行构建
技术分享图片
查看输出
技术分享图片
执行成功
技术分享图片

查看生成构建的任务
技术分享图片
注:不加build_id最后脚本执行完,tomcat启动后会被杀掉

3.编写部署脚本
技术分享图片
#!/bin/bash

tomcat_home=/opt/tomcat
#1.检测 tomcat 是否存在
tomcat=ps -ef |grep /opt/tomcat | grep -v ‘grep|tail‘| awk ‘{print $2}‘
echo ${tomcat}

if test -z ${tomcat}
then
echo "tomcat 没有启动"
else
echo "关闭 tomcat"
sh ${tomcat_home}/bin/shutdown.sh
sleep 2
fi

#2.备份原先/opt下的war包
mv ${tomcat_home}/webapps/hello.war /mnt/hello.war-$(date +%Y%m%d-%H:%M:%S)

#3.将jenkins workspace中打包好的包放到/opt下的tomcat
cp -r /root/.jenkins/workspace/testDeploy/target/hello.war ${tomcat_home}/webapps/hello.war

#4.启动/opt下的 tomcat
sh ${tomcat_home}/bin/startup.sh

tomcat=ps -ef |grep /opt/tomcat | grep -v ‘grep|tail‘| awk ‘{print $2}‘
echo ${tomcat}
sleep 6

if test -z ${tomcat}
then
echo "tomcat 启动失败"
else
echo "部署成功"
fi

测试deploy.sh脚本
技术分享图片
脚本正常
技术分享图片
第一次目录下没有hello.war包,所以报错

四.执行项目部署
技术分享图片
查看控制台输出
技术分享图片
成功
技术分享图片
正常启动
技术分享图片

两个tomcat
技术分享图片
技术分享图片

部署的项目目录已经有复制过来的hello.war包,并且已经自动解压
技术分享图片

之前备份的hello.war包
技术分享图片

以上是关于持续集成工具jenkins部署发布JAVA项目的主要内容,如果未能解决你的问题,请参考以下文章

持续集成:Jenkins部署

Jenkins部署git+python项目实现持续集成

jenkins详解

Jenkins+SVN+Maven持续集成一键部署环境

自动化部署工具jenkins,从此摆脱重复单调的工作

Jenkins持续集成