大概過程如下圖:

由於需要用到docker打包鏡像,jenkins宿主機上需要安裝docker,原先的jenkins server安裝在centos6上無法運行docker,所以這里單獨用一台centos7安裝一個jenkins server。
jenkins的安裝方法有多種:
1、下載jar包,直接通過java運行。
2、用tomcat作為容器運行。
3、通過yum安裝。
4、通過docker運行。
安裝過程都很簡單,這里就不詳細說明了。
1、安裝插件。打開jenkins頁面,安裝CloudBees Docker Build and Publish plugin和Publish Over SSH Plugin插件。

2、新建一個項目。

3、配置項目。

4、填寫項目名稱。jenkins的工作空間與這里的項目名稱對應,默認在/var/lib/jenkins/workspace下。

5、拉取代碼。填寫項目地址和需要拉取的分支,這里用了一個Additional Behabiours,拉取代碼會自動創建一個目錄並將代碼放在該目錄下。

6、build鏡像,並將鏡像push到harbor鏡像庫。填寫相應的docker、dockerfile以及鏡像庫地址信息。
這里需要設置docker啟動參數。
#vim /etc/sysconfig/docker OPTIONS='--insecure-registry 172.60.0.107 -H 0.0.0.0:2375 -H unix:///var/run/docker.sock' #systemctl restart docker |

7、通過腳本發布到k8s。這里需要設置SSH互信(具體過程略..)。

8、在k8s master上編寫發布腳本。
#vim stg-che001-56-waybill.sh
#!/bin/bash
#update the version number
sed -ri "s@(image.*v).*@\1${BUILD_NUMBER}@" /root/che001-56-stg/che001-56-waybill.yaml
#Apply the configuration change
kubectl delete -f /root/che001-56-stg/che001-56-waybill.yaml && kubectl create -f /root/che001-56-stg/che001-56-waybill.yaml |
9、配置完成后,點擊立即構建。

10、點擊Console Output可以查看構建日志。如果最后提示SUCCESS,則表示構建成功。(這里日志太長,只截取了一半)


