項目使用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 進而報端口沖突的問題