时间:2017年03月21日星期二
说明:本脚本并不是完全的自动部署,只是优化基于Tomcat部署项目流程。优点:降低部署难度、减少出错几率、提高部署效率、自动备份项目。
在编写自动发布脚本之前,需先安装Tomcat。传送门:https://segmentfault.com/a/11...
步骤一:了解整体流程
人工发布与自动发布流程对比
步骤二:搭建部署环境
已配置好一个Tomcat服务器,命名为Web应用名称
创建目录结构如下
Demo
--hello
--bin
--log
--lib
--webapp
--……
--deploy
--helloBak
--helloFtp
Hello:Web应用Tomcat服务器
Deploy:自动发布目录
HelloBak:项目备份目录
HelloFtp:项目上传目录
步骤三:编写自动发布脚本
#!/bin/bash
# @describe 基于Tomcat自动发布脚本
# @author ZhangCheng
# @date 2017-03-21
# @version V1.0
# mkdir bak
DATE=$(date +%Y%m%d)-$(date +%H%M)
mkdir /home/zc/demo/deploy/helloBak/$DATE
echo "1、创建备份目录完毕"
# kill tomcat
ps -ef |grep 'hello' |grep -v grep|awk '{print $2}'|xargs kill -9
echo "2、杀掉进程执行完毕"
# backup project
cp /home/zc/demo/hello/webapps/hello.war /home/zc/demo/deploy/helloBak/$DATE
echo "3、原包文件备份完毕"
# clean tomcat webapp
rm -r /home/zc/demo/hello/webapps/hello*
echo "4、清理原包文件完毕"
#deploy project
cp /home/zc/demo/deploy/helloFtp/hello.war /home/zc/demo/hello/webapps/
echo "5、拷贝新包文件完毕"
#start tomcat
sh /home/zc/demo/hello/bin/startup.sh
echo "6、重新启动进程完毕"
说明:依据具体环境,将目录路径及项目名更改即可。可以使用pwd命令,查看当前目录路径。
特别提示:Linux系统不同,可能存在差异。本脚本基于CentOS release 6.7版本系统。
将自动发布脚本上传到deploy目录,并命名为helloDeploy.sh
给该脚本授权,使其具备可执行权限
chmod +x ./helloDeploy.sh
步骤四:进行验证
上传项目升级包到helloFtp目录
执行脚本
查看备份文件
访问网站
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。