jenkins自動化回滾阿里雲k8s應用版本


jenkins 服務器需先保留着原先構建的不同版本的應用鏡像 

[root@jenkins sh]# docker images|grep "maintain"
registry-vpc.cn-hangzhou.aliyuncs.com/******-ui-maintain       20190719                 849ed46fa462        31 minutes ago      293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/*******-ui-maintain       latest                   849ed46fa462        31 minutes ago      293 MB
d*****-maintain                                                          latest                   849ed46fa462        31 minutes ago      293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/******-ui-maintain       3.0.1                    e2b4887b3db4        2 weeks ago         293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/******-maintain       2.0.1                    af427b4858d3        2 weeks ago         293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/******-maintain       1.0.1                    79bba8b2c438        2 weeks ago         293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/********-maintain       <none>                   5055d71b89ef        2 weeks ago         293 MB

  

jenkins 構建配置參數化構建過程 

 

配置下自定義的工作空間

 

無需源碼管理

 

構建  執行 shell  , 將版本號參數傳入 腳本

 

腳本 重新tag 自定義的版本號到鏡像的latest , 再push 本地的latest到遠程的阿里雲鏡像倉庫 

#!/bin/bash

#獲取參數
while getopts "n:" opt; do
    case $opt in
        n)
            version=$OPTARG
            ;;
        \?)
            ;;
    esac
done



source /etc/profile


sudo docker tag registry-vpc.cn-hangzhou.aliyuncs.com/z*****m/da*****-ui-maintain:$version  d*****e-ui-maintain

sudo docker login --username=***** -p Z*******dk registry-vpc.cn-hangzhou.aliyuncs.com

sudo docker tag d*****e-ui-maintain registry-vpc.cn-hangzhou.aliyuncs.com/z*****em/d*****e-ui-maintain

sudo docker push  registry-vpc.cn-hangzhou.aliyuncs.com/z******m/d****e-ui-maintain



curl https://cs.console.aliyun.com/hook/trigger?*******WfQv3D0

if [ $? -eq 0 ]; then
   echo -e "\033[32m[ the application d*****e-ui-maintain successfully Rollbacked  ]\033[0m"

else
    echo -e "\033[31m\033[01m[ the application d*****e-ui-maintain Rollback  failed  ]\033[0m"

fi

  

執行回滾構建操作 

 

回滾構建后 web 恢復到相應的版本 

 

 

查看 jenkins  服務器 images 信息 , 本地鏡像latest 的image id 跟 2.0.1 tag的是一致的 

[root@jenkins sh]# docker images|grep "maintain"
registry-vpc.cn-hangzhou.aliyuncs.com/******-ui-maintain       20190719                 849ed46fa462        51 minutes ago      293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/*******-ui-maintain       3.0.1                    e2b4887b3db4        2 weeks ago         293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/*****-ui-maintain       2.0.1                    af427b4858d3        2 weeks ago         293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/******-ui-maintain       latest                   af427b4858d3        2 weeks ago         293 MB
dataline-ui-maintain                                                          latest                   af427b4858d3        2 weeks ago         293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/*****-ui-maintain       1.0.1                    79bba8b2c438        2 weeks ago         293 MB
registry-vpc.cn-hangzhou.aliyuncs.com/*****-ui-maintain       <none>                   5055d71b89ef        2 weeks ago         293 MB

  

 

 

第二種方式:

如果阿里雲鏡像倉庫已經保存了 應用各個版本的鏡像版本 

 

 

參數化構建傳入tag 版本號

 

 

用 kubectl set image 命令 更新原先版本鏡像的應用 , 實現版本的回滾功能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM