這個部署方式,前提需要通過WinSCP工具將本地Maven項目打成zip包放到Linux對應的用戶目錄下,然后執行腳本便可以完成一鍵部署。
大家看到下面的腳本,可以發現一個顯著的特點,部署腳本內容基本都是Linux命令拼接而來的。
所以這里還得強調一下,如果想把shell學好,Linux是基礎。
這就好比Java,如果你想更深層次理解MyBatis或者Spring源碼,對於Java基本工要求還是非常嚴格的,只有當Java基礎扎實,所謂的框架對於你來說,其實也沒什么。
deploy.sh
#!/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驗證。
不過這里有比較多的缺點和不足,就是不夠自動化,而且一旦執行失敗,不仔細檢查的話,會很難發現。
這里的分享,只供初學者或者實際開發人員覺得通過常規的maven部署難受的話,可以借鑒這個,以減少部署時間成本。
常規部署可以參考如下內容:
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