一篇属于技术总结类的文章,写这篇文章,一来是为自己的一些自动化部署做总结,二来是留下一些记录,好让自己经常翻翻。自动化部署,就是对每次都需要敲的命令,每次都要做的操作,固定化,死的命令行与操作,进行的一些shell脚本的编写,有助于自己不用每次都去敲这些繁琐的命令。
转载请注明:自动化部署java的war应用到tomcat脚本|小葫芦君
自动化部署主要是几个方面:
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,就能马上看到日志效果,何乐而不为呢?