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 命令 更新原先版本镜像的应用 , 实现版本的回滚功能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2018-07-19 FAT AP v200R005 配置二层透明模式(web&命令行,开局)
2018-07-19 华为交换机限速配置命令2016