自動化部署腳本(windows上傳到linux)


  擠了點時間出來學maven+springMVC,然后demo部署到服務器上。maven打包后部署到服務器上,重啟tomcat。這個路線有點長,所以寫個輔助腳本減少時間成本。現在記錄一下。

 

  先介紹兩個工具,PUTTY和WINSCP。

 

  PUTTY是一個不常用的,可以在windows平台通過ssh連接到linux的工具。好處是這個工具特別小,免安裝。可是功能不強(語法高亮這點就夠了)。所以並不常用。(常用的是secureCRT &xshell)然而,putty在windows平台可以通過命令行的形式執行。一般putty會作為腳本工具使用的。

 

  WINSCP是一個windows平台下,通過ssh協議復制東西到linux服務器的工具。也支持命令行的形式。

 

  腳本邏輯是這樣的:

  • 打包
  • 打包結果上傳到服務器
  • 服務器處理(部署、重啟服務器)

 

1、打包。
例如maven打包,而且打包后不自動退出。(文件后綴是bat)
call mvn clean package -U -Dmaven.test.skip=true

 

2、上傳到服務器。

用winscp,執行腳本。參考如下:
--打開控制台
WinSCP.exe /script="E:\eclipse_mars_workspace\singleBbs\autoUpdate\updateLoadScript.sh"

uploadLoadScript的內容參考:

--連接服務器,上傳文件
open sftp://account:password@ip:port
put E:\eclipse_mars_workspace\singleBbs\target\singleBbs.war
exit

put一個文件到用戶下的根目錄

 

3、服務器上處理(替換、重啟)

在bat腳本中,通過putty登錄,並且執行服務器腳本

PUTTY.EXE -ssh -pw password account@ip -m serverScript.sh

 

關閉tomcat,部署,啟動tomcat。

/root/tomcat7/tomcat7/bin/catalina.sh stop
sleep 1
rm /root/tomcat7/tomcat7/webapps/singleBbs.war
rm -r /root/tomcat7/tomcat7/webapps/singleBbs
cp ~/singleBbs.war /root/tomcat7/tomcat7/webapps/singleBbs.war
/root/tomcat7/tomcat7/bin/catalina.sh start
sleep 1
rm ~/singleBbs.war
exit

 

 

后記

  一開始考我是慮用git的鈎子實現。大概邏輯是: 提交代碼到git,git打標簽的時候觸發鈎子從而打包、部署
  這樣子做壞處是服務器要安裝gitlab(鈎子嘛),maven。好處是有版本策略可以跟蹤代碼部署的情況。其實,很多大廠都是這樣方式實現的。不過作為個人開發、研發環境,還是通過復制的方式部署更輕量。
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM