選單

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

做這個實驗目標是往kubernetes集群裡交付dubbo服務,採用jenkins+maven+gitee實現,jenkins使用的是v2。303。1,maven使用3。6。3+jre8u91。整個專案的拓撲圖如下:

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

01 在jenkins建立流水線

1)新建任務

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

2)名稱為dubbo-demo,選擇流水線,並確定

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

3)保留30份,並使用引數化構建過程

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

4)新增引數,這裡我們一共需要新增10個引數

4。1 設定app_name 和 image_name

app_name: app名字

Cop

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

image_name: 映象名字

4。2 設定變數 git_repo 和 git_version

git_repo: 程式碼的git地址,這裡xxx需要替換為自己的使用者名稱

git_ver: 拉取程式碼哪個分支

4。3 設定變數 add_tag 和 mvn_dir

add_tag: 打包程式碼後的映象的tag,生成docker映象時:image_name:add_tag

mvn_dir: maven打包時候的執行目錄

4。4 設定變數 target_dir 和 mvn_cmd

target_dir: maven打包完成後生成的jar包所在的目錄, 一般是在執行目錄下生成target目錄, jar包在target目錄下

mvn_cmd: maven打包時候執行的命令

4。5 設定變數 base_image 和 maven

base_image:構建映象時候所用的底包是哪個映象

maven: 構建映象時候使用的maven版本,上次我們配置了java11和java8

這裡的變數的選項要和在下的maven的目錄是一樣的, 在打包時候直接是使用這個絕對路徑來呼叫命令進行打包的

4。6 配置流水線(pipeline)

stage(‘pull’):從gitee上拉取程式碼

stage(‘build’):進入maven,執行maven命令

stage(‘package’):編譯為jar包

stage(‘image’):在生成映象並上傳到harbor

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

5)儲存

02 配置自己的gitee倉庫

1)登入gitee。com,fork一個dubbo-demo-service倉庫,注意看dubbo-server/src/main/java/config。properties,zk地址是否為od。com

2)在管理中設定為私有倉庫

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

3)新增公鑰 —— 這個如果在安裝jenkins篇中已經做過的就不用再做了。在我-設定-公鑰,新增host200的公鑰進去(/root/。ssh/id_rsa。pub)

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

4)登入jenkins測試,xxx要替換為自己的使用者名稱

03 配置harbor倉庫

1)新建一個私有倉庫app

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

04 在host200構建dubbo底包

1)下載jre:8u211容器

2)新增tag

3)基於底包構建新的jre映象

4)構建新映象,並上傳到harbor,先在harbor中建立一個公開倉庫base

05 執行流水線

1)開啟blue ocean

【kubernetes】交付dubbo之jenkins持續交付dubbo-server

2)選擇dubbo-demo

3)點選執行

4)配置引數

5)run起來

6)去harbor檢視是否有映象了

06 在任意一臺node配置kubernetes namespace

1)建立namespace

2)由於使用的是私有倉庫,所以要配置一個secret

07 交付dubbo-server

1)dubbo-server資源配置清單,注意image的名字要和harbor中的對應上。

2)在k8s node節點建立

3)檢視app名稱空間中的pod

4)登入zk檢視是否有dubbo目錄