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

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

二.部署流程和所需工具
持续集成工具jenkins部署发布JAVA项目(二)github

所需工具: maven、tomcatweb

三.部署过程
1.修改部署JAVA项目的tomcat端口为8090
将解压的tomcat包放到/opt下
持续集成工具jenkins部署发布JAVA项目(二)
修改端口为8090
vim conf/server.xml
将全部端口号都加10 ,防止与主服务冲突vim

2.在jenkins上建立testDeploy任务
持续集成工具jenkins部署发布JAVA项目(二)tomcat

设置jenkins链接github
持续集成工具jenkins部署发布JAVA项目(二)bash

输入项目github的帐号和密码
持续集成工具jenkins部署发布JAVA项目(二)
认证选择本身的帐号的密码
持续集成工具jenkins部署发布JAVA项目(二)app

构建,构建完保存,deploy.sh脚本下面介绍
持续集成工具jenkins部署发布JAVA项目(二)
以前安装好的maven模块,如今须要调用
持续集成工具jenkins部署发布JAVA项目(二)webapp

执行构建
持续集成工具jenkins部署发布JAVA项目(二)
查看输出
持续集成工具jenkins部署发布JAVA项目(二)
执行成功
持续集成工具jenkins部署发布JAVA项目(二)maven

查看生成构建的任务
持续集成工具jenkins部署发布JAVA项目(二)
注:不加build_id最后脚本执行完,tomcat启动后会被杀掉ide

3.编写部署脚本
持续集成工具jenkins部署发布JAVA项目(二)
#!/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脚本
持续集成工具jenkins部署发布JAVA项目(二)
脚本正常
持续集成工具jenkins部署发布JAVA项目(二)
第一次目录下没有hello.war包,因此报错

四.执行项目部署
持续集成工具jenkins部署发布JAVA项目(二)
查看控制台输出
持续集成工具jenkins部署发布JAVA项目(二)
成功
持续集成工具jenkins部署发布JAVA项目(二)
正常启动
持续集成工具jenkins部署发布JAVA项目(二)

两个tomcat
持续集成工具jenkins部署发布JAVA项目(二)
持续集成工具jenkins部署发布JAVA项目(二)

部署的项目目录已经有复制过来的hello.war包,而且已经自动解压
持续集成工具jenkins部署发布JAVA项目(二)

以前备份的hello.war包
持续集成工具jenkins部署发布JAVA项目(二)

相关文章
相关标签/搜索