時間:2017年03月21日星期二web
說明:本腳本並非徹底的自動部署,只是優化基於Tomcat部署項目流程。優勢:下降部署難度、減小出錯概率、提升部署效率、自動備份項目。segmentfault
在編寫自動發佈腳本以前,需先安裝Tomcat。傳送門:https://segmentfault.com/a/11...tomcat
人工發佈與自動發佈流程對比bash
已配置好一個Tomcat服務器,命名爲Web應用名稱服務器
建立目錄結構以下app
Demo --hello --bin --log --lib --webapp --…… --deploy --helloBak --helloFtp
Hello:Web應用Tomcat服務器
Deploy:自動發佈目錄
HelloBak:項目備份目錄
HelloFtp:項目上傳目錄webapp
#!/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
給該腳本受權,使其具有可執行權限
chmod +x ./helloDeploy.sh
上傳項目升級包到helloFtp目錄
執行腳本
查看備份文件
訪問網站