天天看點

Jenkins實作持續內建 上傳遠端伺服器war 并執行sh腳本重新開機

項目使用maven管理,希望完全實作自動化,定時編譯/打包/上傳/重新開機,maven沒找到ftp上傳/調用遠端腳本功能

google了一下Publish Over SSH插件可以實作,記錄一下

1. Jenkins安裝插件Publish Over SSH

2. 設定遠端伺服器

系統設定->Publish over SSH中 建立server:

Name: 名稱,項目配置引用這個名字

Hostname:ip位址

Username:使用者名ftp 及執行腳本的使用者名

Remote Directory:上傳檔案的目錄

點選進階:輸入密碼

3. 項目增加建構後操作:send build artifacts over ssh

這裡添加了兩個步驟:上傳檔案 執行重新開機腳本

Source files:target/a.war

Remove prefix:target

打封包件所在目錄 及上傳後去掉的字首(否則remote會建target目錄)

Exec command:遠端腳本

重新開機設計shutdown和start,之間最好加上sleep 10,我的remote是jboss,遠端ssh執行沒問題,直接調的話會出現沒有完全shutdown就start 進而報端口沖突的問題