Linux_基於Tomcat自動釋出指令碼

weixin_33807284發表於2017-03-21

時間:2017年03月21日星期二

說明:本指令碼並不是完全的自動部署,只是優化基於Tomcat部署專案流程。優點:降低部署難度、減少出錯機率、提高部署效率、自動備份專案。

在編寫自動釋出指令碼之前,需先安裝Tomcat。傳送門:https://segmentfault.com/a/11...

步驟一:瞭解整體流程

人工釋出與自動釋出流程對比

clipboard.png

步驟二:搭建部署環境

已配置好一個Tomcat伺服器,命名為Web應用名稱

clipboard.png

建立目錄結構如下

Demo
--hello
    --bin
    --log
    --lib
    --webapp
    --……
--deploy
    --helloBak
    --helloFtp

Hello:Web應用Tomcat伺服器
Deploy:自動釋出目錄
HelloBak:專案備份目錄
HelloFtp:專案上傳目錄

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 "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

clipboard.png

給該指令碼授權,使其具備可執行許可權

chmod +x ./helloDeploy.sh

步驟四:進行驗證

上傳專案升級包到helloFtp目錄

clipboard.png

執行指令碼

clipboard.png

檢視備份檔案

clipboard.png

訪問網站

clipboard.png

相關文章