歷史緣由,有一段時間,項目開發採用一種模式:項目開發及代碼版本管理在外網,而主要測試在內網。因此爲了同步開發進度,天天會將全部服務在外網jenkins上打包好,而後將服務jar包拷進內網,因爲內網服務使用分佈式部署,不一樣服務分佈在不一樣服務器上,所以須要手動將各個服務包放到各個服務器上,並執行啓動腳本啓動,供內網測試。這種工做天天都要重複進行,並且整個服務發佈耗時較長,jenkins自動化部署在內網又不可行,所以選擇經過執行腳原本自動化發佈服務。服務器
下面演示經過腳本演示經過遠程登陸服務器 —> 備份要替換的服務包 —> 拷貝服務包到相應服務器的對應目錄 —> 發佈服務的整個流程。分佈式
上面腳本是實現兩個服務器上的不一樣服務包的自動化部署,更多服務包在list中累加,並增長判斷邏輯便可,讀者也能夠根據此腳本拓展編寫批量停服腳本,批量起服腳本,自動回滾某個版本腳本等。測試