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

相關文章
相關標籤/搜索