• 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 "33[32m[ the application d*****e-ui-maintain successfully Rollbacked  ]33[0m"
    
    else
        echo -e "33[31m33[01m[ the application d*****e-ui-maintain Rollback  failed  ]33[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 命令 更新原先版本镜像的应用 , 实现版本的回滚功能

  • 相关阅读:
    4月4日 python学习总结 os pickle logging
    4月3日 python学习总结
    4月2日 python学习总结
    【Vue】vue递归组件实现多级列表
    用原生html与js写一个dialog
    【Vue】filters过滤器中不能使用this的解决方案
    【Vue】Vue中data重置问题
    【Vue】Vue渲染模板时怎么保留模板中的HTML注释
    【Vue】在 Vue 中使用 JSX
    【Vue】在.vue文件中style是必须的吗?那script是必须的吗?为什么?——函数式组件
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/11212127.html
Copyright © 2020-2023  润新知