您的位置:首页 > 运维架构 > Tomcat

自动化部署java的war应用到tomcat脚本

2016-09-05 11:08 381 查看
 文章地址:http://blog.tongbor.com/article/detail/30

本文是写在《如果推广个人博客》这篇博文之后的一篇属于技术总结类的文章,写这篇文章,一来是为自己的一些自动化部署做总结,二来是留下一些记录,好让自己经常翻翻。自动化部署,就是对每次都需要敲的命令,每次都要做的操作,固定化,死的命令行与操作,进行的一些shell脚本的编写,有助于自己不用每次都去敲这些繁琐的命令。

自动化部署主要是几个方面:
1、自动化部署到war
2、自动化重启tomcat服务器,并打印日志
3、能自动化重启,自动化打开日志

主要的shell命令有这些:
1、自动化部署到war
/data/shfile/blogWeb.sh 这个是自动部署的shell脚本

原理:通过定义好一些变量,然后逐步的执行设定好的命令,也就是模拟自己在部署war时的一些操作。

#!/bin/bash

nowDate=`date +%Y-%m-%d`

pathProj=/data/www/tongbor/blog/web
warPathProj=/data/www/codes
warSrvOrig="$warPathProj/blogWeb-develop.war"
warSrvNew="$pathProj/ROOT.war"

echo 'enter to stop tomcat...'

pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`

kill -9 $pid

echo 'stop tomcat finished...'

rm -rf $pathProj/ROOT

rm -rf $pathProj/ROOT.war

cp $warSrvOrig $warSrvNew

echo 'copy blogWeb ROOT.war finish...'

/data/opt/blog/tomcat8_web/bin/startup.sh

sleep 5

echo 'restart tomcat8 blogWeb...'

pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`

kill -9 $pid

sleep 5

/data/opt/blog/tomcat8_web/bin/startup.sh

ln -s /data/www/tongbor/file/blogfile/main/attached /data/www/tongbor/blog/web/ROOT/attached

echo 'show logs...'

tail -1000f /data/opt/blog/tomcat8_web/logs/catalina.$nowDate.out

2、在tomcat能启动的用户目录里面,找到环境文件:
.bash_profile
这个文件里面,可以定义一些快捷键

restartBlogWeb() {
        echo 'restart tomcat8 blogWeb...'
        pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`
        kill -9 $pid
        sleep 1
        /data/opt/blog/tomcat8_web/bin/startup.sh
        echo 'show logs...'
        tail -500f /data/opt/blog/tomcat8_web/logs/catalina.$nowDate.out
}

alias rbw='restartBlogWeb'

shutdownBlogWeb(){
        echo 'shutdown tomcat8 blogWeb...'
        pid=`ps aux|grep "java"|grep "/data/opt/blog/tomcat8_web"|awk '{printf $2}'`
        kill -9 $pid
}

alias sbw='shutdownBlogWeb'

tblogWeb(){
    tail -500f /data/opt/blog/tomcat8_web/logs/catalina.$nowDate.out
}
alias tbw='tblogWeb'

alias dbw='/data/shfile/blogWeb.sh'

上面就是设置好的快捷键

当我需要重新部署已经上传到服务器的war文件时,只需要敲快捷键dbw,就能够对新打包的war进行自动部署到tomcat里面,并重启tomcat和看到打印的日志;

当我需要重新启动应用时,只需要敲快捷键rbw,就能马上重启tomcat,并查看打印的启动日志;

当我不需要以上2种情况的快捷键,但又想看到日志时,普通情况下,是敲一长串的路径,进行tail查看,有了快捷键,我只需要敲快捷键tbw,就能马上看到日志效果,何乐而不为呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: