天天看點

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

一.jenkins、gitlab、nexus叢集資源部署

1.資源部署yaml清單均托管至github

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2.克隆下載下傳部署清單

git clone https://github.com/CosmicBDry/k8s-manifest.git

3.檢視部署清單,apply以下清單完成部署

1)gitlab部署清單

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2)jenkins部署清單

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3)nexus部署清單

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

二.jenkins憑據、kubernetes代理節點配置、項目建構

1.建立需要的憑據

1)系統設定中找到憑據管理

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2)找到jenkins容器sa使用者jenkins-admin對應的secret

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3)列出secret對應的token值,為base64編碼,用于jenkins的憑據認證

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

4)将以上jenkins容器的sa賬戶token值粘貼至下面secret中,認證選擇secret文本方式

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

5)所有需要的憑據如下,nexus的docker倉庫、gitlab版本庫、jenkins的叢集sa等認證憑據

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2.jenkins的代理節點添加

1)找到節點管理

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2)配置雲代理節點

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3)首先配置k8s叢集相關配置資訊

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

4)配置k8s叢集、jenkins服務等通路入口

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

5)配置jnlp容器代理節點

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

6)配置maven容器代理節點

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

将maven容器内部倉庫挂載到pvc卷,下次建構就不會重複下載下傳相同的依賴jar包等檔案,直接在本地倉庫找,

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

7)配置docker-in-docker容器代理節點,負責建構docker鏡像

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程
挂載node節點的docker本地套接字檔案至docker-in-docker容器中,使得容器直接共享node節點的docker程序,完成docker鏡像的建構與推送             
k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3.jenkins的springboot項目建構

1)配置參數化建構

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程
k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2)pipeline腳本如下,托管至GitHub:

url:https://github.com/CosmicBDry/k8s-manifest/blob/master/devops/Jenkinsfile/springboot.pipeline

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3)完成建立

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

三.準備好gitlab項目

1.檢視gitlab項目

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2.springboot項目(通過idear快速建構springboot)

1)項目結構

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2)pom.xml檔案定位包依賴

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3)檢視源碼

檢視啟動類源碼
k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程
檢視控制類源碼
k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3.CICD項目

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2)springboot容器部署清單

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3)dockefile檔案

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

4)部署腳本

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

5)k8s叢集認證檔案

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

四.代碼釋出更新流程

1.檢視目前版本為v1.1.10

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2.修改pom.xml本次更新版本為v1.1.20

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3.java源碼更新

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

4.基于Jenkins的參數化建構,點選開始建構

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

5.控制台輸出

1)克隆gitlab的springboot項目代碼

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

2)進行maven建構編譯

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

3)拉取devops項目

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

4)docker鏡像的建構

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

5)是否将打好的docker鏡像推送至docker鏡像倉庫,這裡的鏡像倉庫用的是nexus

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

6)将建構好的鏡像推送至nexus鏡像倉庫

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

7)是否确認部署springboot項目至k8s叢集

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

8)開始部署

k8s叢集中部署jenkins、gitlab、nexus實作CICD一.jenkins、gitlab、nexus叢集資源部署二.jenkins憑據、kubernetes代理節點配置、項目建構三.準備好gitlab項目四.代碼釋出更新流程

6.檢視nexus的docker鏡像倉庫,已成功推送鏡像

7.在k8s叢集檢視項目,springboot容器已成功啟動

8.浏覽器通路測試,已更新至v1.1.20版本,完成釋出更新

繼續閱讀