天天看點

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

介紹

随着業務的增長,需求也開始增多,每個需求的大小,開發周期,釋出時間都不一緻。基于微服務的系統架構,功能的疊加,對應的服務的數量也在增加,大小功能的快速疊代,更加要求部署的快速化,智能化。是以,傳統的人工部署已經心有餘而力不足。

持續內建,持續部署,持續互動對于微服務開發來說,是提高團隊整體效率不可或缺的一環。合理的使用CI,CD能夠極大的提高了生産效率,也提高了産品的互動品質。

流程梳理:

1.開發人員對上線版本在gitLab上打了一個tag 2.jenkins擷取tag版本. 3.編寫pipeline 3.1 拉取代碼 git clone 3.2 maven 建構jar包 3.3 編寫dockerfile檔案 3.4 建立鏡像并推送到本地harbor鏡像倉庫 3.5 首先删除容器,拉取鏡像并啟動容器

jenkins準備:(相關插件使用)

1.1 安裝插件

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

1.2.使用Role-Based Strategy插件

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

1.3 添加全局角色和項目角色

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

1.4 賦予使用者權限

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

2.master-slave 介紹

2.1解決jenkins單點建構任務多,負載高,性能不足的場景。

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

2.2 建構項目的時候選擇,建構這個項目的時候,就會在192.168.17.7伺服器上來執行pipeline中的一系列操作。

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

jenkins圖像化界面設定:

1.設定保留建構曆史(個數與天數)

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

2.參數化建構,選取對應的tag來發版。(一般以日期時間分鐘來命名tag版本,便于區分)

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

3.pipeline編寫

jenkins+docker+gitlab+harbor+pipeline快速部署發版流程

詳細内容參考:

注明:

1.172.10.2.10為harbor位址。 2.微服務較多,可以在gitlab定義多個,如yx_oms.git;yx_ums.git; jenkins部署的時候可根據選擇來部署。
jenkins+docker+gitlab+harbor+pipeline快速部署發版流程
3.為了達到後端高可用及負載均衡,一般部署在兩台上,是以用ansible來管理後端節點,如删除容器,拉取鏡像,啟動容器。

繼續閱讀