因爲須要用到docker打包鏡像,jenkins宿主機上須要安裝docker,原先的jenkins server安裝在centos6上沒法運行docker,因此這裏單獨用一臺centos7安裝一個jenkins server。java
jenkins的安裝方法有多種:docker
一、下載jar包,直接經過java運行。vim
二、用tomcat做爲容器運行。centos
三、經過yum安裝。tomcat
四、經過docker運行。bash
安裝過程都很簡單,這裏就不詳細說明了。ui
一、安裝插件。打開jenkins頁面,安裝CloudBees Docker Build and Publish plugin和Publish Over SSH Plugin插件。centos7
二、新建一個項目。spa
三、配置項目。插件
四、填寫項目名稱。jenkins的工做空間與這裏的項目名稱對應,默認在/var/lib/jenkins/workspace下。
五、拉取代碼。填寫項目地址和須要拉取的分支,這裏用了一個Additional Behabiours,拉取代碼會自動建立一個目錄並將代碼放在該目錄下。
六、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 |
七、經過腳本發佈到k8s。這裏須要設置SSH互信(具體過程略..)。
八、在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 |
九、配置完成後,點擊當即構建。
十、點擊Console Output能夠查看構建日誌。若是最後提示SUCCESS,則表示構建成功。(這裏日誌太長,只截取了一半)