時間:2017年03月21日星期二
說明:本指令碼並不是完全的自動部署,只是優化基於Tomcat部署專案流程。優點:降低部署難度、減少出錯機率、提高部署效率、自動備份專案。
在編寫自動釋出指令碼之前,需先安裝Tomcat。傳送門:https://segmentfault.com/a/11...
步驟一:瞭解整體流程
人工釋出與自動釋出流程對比
步驟二:搭建部署環境
已配置好一個Tomcat伺服器,命名為Web應用名稱
建立目錄結構如下
Demo
--hello
--bin
--log
--lib
--webapp
--……
--deploy
--helloBak
--helloFtp
Hello:Web應用Tomcat伺服器
Deploy:自動釋出目錄
HelloBak:專案備份目錄
HelloFtp:專案上傳目錄
步驟三:編寫自動釋出指令碼
#!/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 "1、建立備份目錄完畢"
# kill tomcat
ps -ef |grep 'hello' |grep -v grep|awk '{print $2}'|xargs kill -9
echo "2、殺掉程式執行完畢"
# backup project
cp /home/zc/demo/hello/webapps/hello.war /home/zc/demo/deploy/helloBak/$DATE
echo "3、原包檔案備份完畢"
# clean tomcat webapp
rm -r /home/zc/demo/hello/webapps/hello*
echo "4、清理原包檔案完畢"
#deploy project
cp /home/zc/demo/deploy/helloFtp/hello.war /home/zc/demo/hello/webapps/
echo "5、拷貝新包檔案完畢"
#start tomcat
sh /home/zc/demo/hello/bin/startup.sh
echo "6、重新啟動程式完畢"
說明:依據具體環境,將目錄路徑及專案名更改即可。可以使用pwd命令,檢視當前目錄路徑。
特別提示:Linux系統不同,可能存在差異。本指令碼基於CentOS release 6.7版本系統。
將自動釋出指令碼上傳到deploy目錄,並命名為helloDeploy.sh
給該指令碼授權,使其具備可執行許可權
chmod +x ./helloDeploy.sh
步驟四:進行驗證
上傳專案升級包到helloFtp目錄
執行指令碼
檢視備份檔案
訪問網站