Jenkins上線流程

簡述

將一個項目的全部流程分爲三個階段”CREATE(創建)”,”UPLOAD(更新)”,”ROLLBACK(回滾)”

一.CREATE(創建)與UPLOAD(更新)

思路:

(1)    先啓動一個jenkins-slave的基礎上,下拉代碼;
(2)    將target下面項目的war包放到jenkins-slave的${WORKSPACE}/ROOT進行解壓;
(3)    再進行不同項目的特殊處理,覆蓋idc_conf文件等;
(4)    編寫Dockerfile將生成後的ROOT目錄放入到tomcat基礎鏡像中的/usr/local/tomcat/webapps/ROOT路徑;
        Dockerfile模板(注:這裏的Dockerfile路徑是與上面打包ROOT路徑爲同級路徑):
               From linuxwei/jdk_tomcat:7.0.104-jdk8-adoptopenjdk-openj9
               ADD ROOT /usr/local/tomcat/webapps/ROOT
               CMD ["catalina.sh", "run"]

(5)    根據項目名稱以及日期構建鏡像以及推送鏡像,裏面變量爲Jenkins配置變量
         docker login --username=xxxxxxxxx ccr.ccs.tencentyun.com --password xxxxxx
         docker build -t ccr.ccs.tencentyun.com/***/${jobs_name}-online:${image_version} ${WORKSPACE}
         docker push ccr.ccs.tencentyun.com/ywf-online/${jobs_name}-online:${image_version}

(6)    CREATE通過Python腳本生成定製YAML文件,再用kubectl命令apply,從而生成Deployment與Service
               腳本名稱:create_deployment_yaml.py
         UPLOAD通過Python腳本將通過kubectl命令拉去最新Deployment的yaml文件進行修改image後再apply;
               腳本名稱:jenkins_upload.py
(7)    跑Python腳本生成一個存儲騰訊雲鏡像倉庫下該項目現存的image_tags爲ROLLBACK做前期工作
               腳本名稱:get_image_tags.py

詳細配置

二.ROLLBACK(回滾)

思路:

  1. Jenkins插件ExtendedChoiceParameter,以上面的UPLOAD與ROLLBACK每次構建生成的騰訊鏡像倉庫標籤爲參數;
  2. 將接收到的參數轉爲變量,用kubectl set image deployment/…來更新鏡像,實現Jenkins選項參數達到可控回滾

詳細配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章