Jenkins+Git+Docker+K8s部署

準備工做前端

  1. Jenkins已安裝
  2. Docker和K8s部署運行成功
  3. 代碼管理工具使用Git

最近公司項目使用Jenkins+Git+Docker+K8s進行持續化構建部署,這裏筆者整理了一下構建部署的相關操做,以便留存查看。shell

項目和工具介紹

這裏有兩個項目:前端和後臺,一樣都是使用Git代碼管理工具,目前是使用所謂的微服務進行發佈操做,結合Docker和K8s進行部署發佈。後端

部署步驟

傳統的服務發佈步驟:

  1. 拉取最新的代碼
  2. 使用ant或其餘工具編譯項目代碼
  3. 將編譯的項目代碼(有些配置文件是不變的,須要覆蓋),打包上傳到tomcat或glassfish部署
  4. 重啓服務

而使用jenkins以後,咱們只須要鼠標輕輕一點,便可完成1-4的操做;省時省力,縮短了咱們的構建時間,使得錯誤率大大下降。其中jenkins還能夠根據項目實際狀況,進行定時構建。tomcat

jenkins詳細部署

新建項目-Genenral

咱們首先新建一個自由風格的項目,設置項目的名稱,而後進行項目設置詳情基礎頁面,如圖服務器

如上圖所示:在Gnenral中設置了項目的基本描述、構建結果保存以及參數化構建過程,其中[丟棄舊的構建]:是保存N次構建結果信息,而參數化構建,這裏是直接獲取Git的分支進行構建。這裏使用的是插件[Git Parameter]進行參數化構建,首次使用需安裝此插件。運維

丟棄舊的構建:即保存最近N次的構建結果,查看如圖微服務

參數化構建:獲取Git分支進行構建部署,如圖工具

源碼獲取:Source Code Management

拉取最新的代碼信息,這裏使用的工具是Git,配置具體如圖post

這裏配置了Git的URL地址以及使用的帳號信息,其次還有就是拉取的分支信息,Git工具默認使用Jenkins自帶的版本便可。ui

構建-Build

前端項目

這裏執行構建的時候,前端項目使用的是shell執行命令,使用的命令以下

cd $WORKSPACE
yarn install --ignore-engines
yarn build

前端項目部署須要先執行此問題,具體的項目有不一樣的執行命令,如圖

後端項目

而通常後臺,使用的是Maven進行構建的,編譯命令以下

clean install -U -Pbeta -e

如圖

Build-Post Steps

前面說過此項目是微服務搭建的,使用到了Docker和K8s,這裏就用到了Docker。

先上圖:

這裏使用Docker有三個步驟

  1. 建立image:Creat image,說明是使用哪一個分支
  2. 推送image至服務器:Push image
  3. 刪除原來的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如何使用,更詳細的使用方法和命令能夠自行百度

相關文章
相關標籤/搜索