Tips:如何編寫一個替代JENKINS的自動發布批處理腳本


開發環境:

   Spring Boot框架的J2EE工程;

  配置管理工具:SVN;

  構建打包工具:MAVEN;

步驟:

1、svn的命令行

  首先在安裝svn的時候要記得將svn客戶端的功能安裝上去,那么安裝好后即可在命令行下執行svn命令;

svn checkout https://svn.server.path/project_path  D:\project_path

通過checkout命令將工程的最新版本下載到本地。

2、執行maven命令

  首先需要安裝獨立的maven軟件,並將資源庫指向eclipse所用的資源庫;

然后配置maven的環境變量MAVEN_HOME,然后將%MAVEN_HOME%\bin\加入到path中;

通過maven命令行編譯和打包工程:

call mvn clean install -e -U -DskipTests

其中clean 和install 分別是mvn的執行目標,即先清理工程,然后重新打包發布到資源庫,-e表示有異常打印錯誤堆棧,-U表示強制更新依賴;

call 命令是批處理的命令,通過call命令執行mvn,這樣mvn返回時不會退出整個批處理。

注意:如果工程依賴於其他基礎工程,則基礎工程要先打包發布。

3、將打包好的jar文件上傳到linux服務器;

  通過win10默認提供的ssh工具,訪問linux服務器的ssh服務,通過scp命令上傳文件;

scp d:\project_path|target\proj.jar user@192.168.100.10:/home/product/project_path/proj.jar

將本地的jar文件復制到服務器上的對應路徑,其中user為scp的訪問用戶,192.168.100.10為服務器的ip;

 

 4、執行服務器命令,重啟服務;

  通過ssh命令遠程執行linux服務器命令,多個命令可以通過 ; 進行分隔。

ssh user@192.168.100.10  "cd ~/project_path ; ./restart.sh proj.jar &"

 

注意:當直接使用ssh訪問服務器時,需要通過交互的方式輸入訪問用戶和密碼,這樣就無法做到腳本的自動執行,所以需要實現ssh免登錄的功能,請參考:

Tips:ssh實現免密碼的登錄

 


免責聲明!

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



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