1. 程式人生 > >spring boot 自動部署方案

spring boot 自動部署方案

現在主流的自動部署方案大都是基於Docker的了,但傳統的自動部署方案比較適合中小型公司,下面的方案就是比較傳統的自動部署方案。

1、為什麼需要自動部署

  基於微服務的架構,自動部署顯得非常重要。因為每一個服務都需要部署。如果是手動部署,那麼有M個服務,那麼至少需要部署M次,如果每個同樣的服務部署N個例項,那麼就需要部署M*N次。所以自動部署對於微服務架構幾乎是必須的,這一點不同於傳統應用。

 

2、如何實現自動部署

自動部署一般都是通過以下步驟進行的。首選由持續性整合工具進行自動編譯產生專案的輸出,對於我們來說也就是jar包。然後該jar經過測試就可以分發到各個伺服器,各個伺服器的監控指令碼監控到該新版本,自動停止舊例項重新執行新例項。

 

上面只是一個大概的步驟,真實的實現還需要更詳細的步驟,如下:

 

  Jenkins編譯的結果需要暫時存放,以便於測試人員拉取進行測試。這裡存放在maven庫中。測試通過後也需要手動推送到生產環境,因為不可能每個版本都推送到生產環境。生產環境需要一臺FTP或GIT、SVN Server作為中轉機,暫存打包的應用,然後生產的伺服器通過指令碼輪詢該中轉機獲得新的版本。獲得新的版本後,自動停止舊的版本,執行新的版本。