這個部署方式,前提須要經過WinSCP工具將本地Maven項目打成zip包放到Linux對應的用戶目錄下,而後執行腳本即可以完成一鍵部署。html
你們看到下面的腳本,能夠發現一個顯著的特色,部署腳本內容基本都是Linux命令拼接而來的。git
因此這裏還得強調一下,若是想把shell學好,Linux是基礎。web
這就比如Java,若是你想更深層次理解MyBatis或者Spring源碼,對於Java基本工要求仍是很是嚴格的,只有當Java基礎紮實,所謂的框架對於你來講,其實也沒什麼。shell
deploy.shubuntu
#!/bin/bash
demo_dir=/home/test/tomcat8/webapps
web_dir=/home/test/tomcat8
cd $demo_dir
rm -rf test-web.war
rm -rf test-web
echo "成功刪除webapps下的項目,爲下一次部署作準備"
cd ..
./bin/shutdown.sh
echo "關閉tomcat8服務器"
cd /home/test/
if [ -f test-web*.zip ];then
unzip test-web*.zip
echo "成功解壓"
fi
cd /home/test/test-web
mvn clean package
echo "打包"
cp -r /home/test/test-web/target/lms.war /home/test/tomcat8/webapps/
cp -r /home/test/test-web/target/lms /home/test/tomcat8/webapps/
echo "成功複製到$demo_dir 目錄下"
cd $web_dir
./bin/startup.sh && tail -f logs/catalina.out
這裏的話,分享的腳本是通過實際測試認證的,目前只通過ubuntu16.04驗證。tomcat
不過這裏有比較多的缺點和不足,就是不夠自動化,並且一旦執行失敗,不仔細檢查的話,會很難發現。bash
這裏的分享,只供初學者或者實際開發人員以爲經過常規的maven部署難受的話,能夠借鑑這個,以減小部署時間成本。服務器
常規部署能夠參考以下內容:app
1.zip包方式框架
unzip test-web.zip #解壓zip包 cd test #進入該目錄 mvn clean package #打包命令 cd target #進入target目錄 打包命令成功生成的war文件會在這個目錄下 cp test-web.war /home/test/tomcat8/webapps #將war文件複製到這個目錄下
最後重啓服務器,便可完成部署
2.使用git版本控制開發
git clone url #克隆遠程倉庫
cd test-web #進入遠程倉庫
mvn clean package #到有pom.xml的文件夾執行該命令
cd target #找到war包
cp test-web.war /home/test/tomcat8/webapps #將war文件複製到這個目錄下
最後重啓服務器,便可完成部署
這是我以前經常使用的兩種方式,固然,如今都流行一個叫持續集成或自動化部署的,我這個也比較古板了,還須要手動執行。
如今有一種工具比較火,叫Jekins,它是一種持續集成+自動化部署的軟件。
安裝教程,能夠參考個人博文:Ubuntu16.04環境安裝jenkins