一.部署环境
系统 Centos7
和上期的jenkins在一台主机,jenkins服务使用的tomcat是8080端口,本次JAVA项目部署使用的tomcat是8090端口git
二.部署流程和所需工具github
所需工具: maven、tomcatweb
三.部署过程
1.修改部署JAVA项目的tomcat端口为8090
将解压的tomcat包放到/opt下
修改端口为8090
vim conf/server.xml
将全部端口号都加10 ,防止与主服务冲突vim
2.在jenkins上建立testDeploy任务tomcat
设置jenkins链接githubbash
输入项目github的帐号和密码
认证选择本身的帐号的密码app
构建,构建完保存,deploy.sh脚本下面介绍
以前安装好的maven模块,如今须要调用webapp
执行构建
查看输出
执行成功maven
查看生成构建的任务
注:不加build_id最后脚本执行完,tomcat启动后会被杀掉ide
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包