適用項目:
傳統單體項目、微服務項目等
先說下最終達到的效果,最終本地只需要執行一行命令,即可實現自動打包上傳到服務器並自動重啓,並且因爲上傳到服務器後會立馬自動重啓,所以影響到測試的時間也就分把鍾了。可以極大程度的縮短服務更新時間,簡化發包流程,從而提高開發效率。
配置步驟:
1、本地依賴安裝
Maven、jdk、git、PuTTY
Maven 和 jdk 大家電腦上都是有的 ,git的話需要安裝git客戶端,即能有下圖中的sh腳本執行窗口
在就是PuTTY 了
下載地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
下載圖中標註的就可以了
下載安裝後的目錄裏是這樣的
然後將上圖中框住的兩個exe文件複製一份到C盤的 C:\Windows\System32 目錄裏即可
遠程服務器的話,我這邊是 linux(centos7.4)服務器
2、sh腳本編寫
#服務器ip
IP=192.168.50.252
#密碼
PASSWORD=12345678
#服務名
RESOURCE_NAME=ylapp-largess-service
#jar
JAR=ylapp-largess-service.jar
#common包目錄
COMMON_PATH=E:/SHIWUYOU/swy-sc/
#jar目錄
LOCAL_PATH=E:/SHIWUYOU/swy-sc/ylapp-modules/ylapp-largess-service/target/ylapp-largess-service.jar
#遠程服務目錄
REMOTE_PATH=/opt/largess/
echo **********************=============打common包==============********************
cd $COMMON_PATH
mvn clean install -pl ylapp-common -am -Dmaven.test.skip=true
echo **********************=============打服務jar包==============********************
cd ylapp-modules
mvn clean install -pl $RESOURCE_NAME -am -Dmaven.test.skip=true
echo **********************=============備份服務器jar包==============********************
plink -pw $PASSWORD root@$IP "cd $REMOTE_PATH;mv $JAR $(date +%Y%m%d%H%M%S).jar;"
echo **********************=============上傳本地jar包至服務器指定目錄==============********************
pscp -l root -pw $PASSWORD $LOCAL_PATH $IP:$REMOTE_PATH
echo **********************=============重啓服務==============********************
plink -P 22 -pw $PASSWORD root@$IP "cd $REMOTE_PATH;./start.sh;"
上方的腳本是我之前公司中一個微服務項目中的一個業務服務的腳本示例。只需要修改上圖中紅線框住的部分和最後一行的服務啓動腳本(./start.sh,改成你自己的)即可,我都寫了註釋,這裏就不做詳細描述了,很簡單,應該都能看懂,有不懂的就在下方留言。
一般開發環境需爲每個 項目/服務 配置兩個腳本即可,如:largess_dev.sh
largess_test.sh
3、腳本執行
腳本編輯好之後就可以執行了,在腳本目錄右鍵打開git的bash here 窗口 執行 ./xxx.sh 即可
這裏有個地方需要注意下,第一次執行的時候會出現如下情況:
輸入y 然後回車就可以了,每個服務只會在第一次執行出現。
如果該文章有幫助到您,就留言點個贊吧!您的支持與肯定是我持續更新最大的動力。