Linux_基于Tomcat自动发布脚本

时间:2017年03月21日星期二web

说明:本脚本并非彻底的自动部署,只是优化基于Tomcat部署项目流程。优势:下降部署难度、减小出错概率、提升部署效率、自动备份项目。segmentfault

在编写自动发布脚本以前,需先安装Tomcat。传送门:https://segmentfault.com/a/11...tomcat

步骤一:了解总体流程

人工发布与自动发布流程对比bash

clipboard.png

步骤二:搭建部署环境

已配置好一个Tomcat服务器,命名为Web应用名称服务器

clipboard.png

建立目录结构以下app

Demo
--hello
    --bin
    --log
    --lib
    --webapp
    --……
--deploy
    --helloBak
    --helloFtp

Hello:Web应用Tomcat服务器
Deploy:自动发布目录
HelloBak:项目备份目录
HelloFtp:项目上传目录webapp

clipboard.png

步骤三:编写自动发布脚本

#!/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 "一、建立备份目录完毕"

# kill tomcat
ps -ef |grep 'hello' |grep -v grep|awk '{print $2}'|xargs kill -9
echo "二、杀掉进程执行完毕"

# backup project
cp /home/zc/demo/hello/webapps/hello.war /home/zc/demo/deploy/helloBak/$DATE
echo "三、原包文件备份完毕"

# clean tomcat webapp
rm -r /home/zc/demo/hello/webapps/hello*
echo "四、清理原包文件完毕"

#deploy project
cp /home/zc/demo/deploy/helloFtp/hello.war /home/zc/demo/hello/webapps/
echo "五、拷贝新包文件完毕"

#start tomcat
sh /home/zc/demo/hello/bin/startup.sh
echo "六、从新启动进程完毕"

说明:依据具体环境,将目录路径及项目名更改便可。可使用pwd命令,查看当前目录路径。优化

特别提示:Linux系统不一样,可能存在差别。本脚本基于CentOS release 6.7版本系统。网站

将自动发布脚本上传到deploy目录,并命名为helloDeploy.shspa

clipboard.png

给该脚本受权,使其具有可执行权限

chmod +x ./helloDeploy.sh

步骤四:进行验证

上传项目升级包到helloFtp目录

clipboard.png

执行脚本

clipboard.png

查看备份文件

clipboard.png

访问网站

clipboard.png

相关文章
相关标签/搜索