準備工做前端
- Jenkins已安裝
- Docker和K8s部署運行成功
- 代碼管理工具使用Git
最近公司項目使用Jenkins+Git+Docker+K8s進行持續化構建部署,這裏筆者整理了一下構建部署的相關操做,以便留存查看。shell
項目和工具介紹
這裏有兩個項目:前端和後臺,一樣都是使用Git代碼管理工具,目前是使用所謂的微服務進行發佈操做,結合Docker和K8s進行部署發佈。後端
部署步驟
傳統的服務發佈步驟:
- 拉取最新的代碼
- 使用ant或其餘工具編譯項目代碼
- 將編譯的項目代碼(有些配置文件是不變的,須要覆蓋),打包上傳到tomcat或glassfish部署
- 重啓服務
而使用jenkins以後,咱們只須要鼠標輕輕一點,便可完成1-4的操做;省時省力,縮短了咱們的構建時間,使得錯誤率大大下降。其中jenkins還能夠根據項目實際狀況,進行定時構建。tomcat
jenkins詳細部署
新建項目-Genenral
咱們首先新建一個自由風格的項目,設置項目的名稱,而後進行項目設置詳情基礎頁面,如圖服務器
如上圖所示:在Gnenral中設置了項目的基本描述、構建結果保存以及參數化構建過程,其中[丟棄舊的構建]:是保存N次構建結果信息,而參數化構建,這裏是直接獲取Git的分支進行構建。這裏使用的是插件[Git Parameter]進行參數化構建,首次使用需安裝此插件。運維
丟棄舊的構建:即保存最近N次的構建結果,查看如圖微服務
參數化構建:獲取Git分支進行構建部署,如圖工具
源碼獲取:Source Code Management
拉取最新的代碼信息,這裏使用的工具是Git,配置具體如圖ui
這裏配置了Git的URL地址以及使用的帳號信息,其次還有就是拉取的分支信息,Git工具默認使用Jenkins自帶的版本便可。spa
構建-Build
前端項目
這裏執行構建的時候,前端項目使用的是shell執行命令,使用的命令以下
cd $WORKSPACE yarn install --ignore-engines yarn build
前端項目部署須要先執行此問題,具體的項目有不一樣的執行命令,如圖
後端項目
而通常後臺,使用的是Maven進行構建的,編譯命令以下
clean install -U -Pbeta -e
如圖
Build-Post Steps
前面說過此項目是微服務搭建的,使用到了Docker和K8s,這裏就用到了Docker。
先上圖:
這裏使用Docker有三個步驟
- 建立image:Creat image,說明是使用哪一個分支
- 推送image至服務器:Push image
- 刪除原來的image:Remove image
重啓服務
這裏是使用Kubernetes進行服務的重啓和發佈,命令以下
kubectl patch deployment 項目名稱 -p \ "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}"
具體執行命令信息能夠參考運維或開發人員的腳本,如圖
至此,使用Jenkins+Git+Docker+K8s完成了項目的部署,接下來進行構建的時候,能夠直接點擊[Build with Parameters]拉取不一樣的分支進行項目構建部署,如圖
這裏只說明瞭的Docker和K8s如何配合Jenkins如何使用,更詳細的使用方法和命令能夠自行百度