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 命令 更新原先版本镜像的应用 , 实现版本的回滚功能
jenkins自动化回滚阿里云k8s应用版本的更多相关文章
- 阿里云k8s应用最新日志采集不到的问题
问题描述: 阿里云k8s应用日志之前一直都是可以正常的采集, 先出现一问题, 通过kibana 和阿里云的日志服务都没法展示最新的k8s应用的日志, 部分应用的最新日志有被采集到,但大部分应用日志没有 ...
- 使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S
使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S 先行条件: 1.了解NetCore项目基础命令,如dotnet publish 等几个常用命令. 2.了解Dock ...
- 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S
有关Spring Cloud Kubernates(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...
- 阿里云k8s部署zookeeper集群
1. 阿里云k8s创建有状态应用 StatefulSet , 选择使用模板创建 可以创建自定义模板 apiVersion: apps/v1 kind: StatefulSet metadata: c ...
- 阿里云K8S下玩.NET CORE 3.1
1. 创建阿里云K8S集群,本文以标准托管集群为例 1.1 创建一个 2台 centos 2core 4G的 k8s 集群 1.2 创建成功的模样 2. 创建 asp.net core webapi项 ...
- 阿里云k8s构建镜像时设置版本号用于版本回滚
jenkins 构建配置参数化构建过程 构建 执行 shell , 将版本号参数传入 脚本 脚本push 带版本号的镜像到阿里云镜像仓库 #!/bin/bash #获取参数 while geto ...
- 自动化部署-Jenkins备份回滚
1.备份 备份可以使用批处理命令解决,实际就是复制当前发布文件 ::备份文件夹名,使用当前时间 set foldername=%date:~0,4%%date:~5,2%%date:~8,2%%tim ...
- 阿里云k8s服务springboot项目应用升级时出现502错误
背景 随着小步快跑.快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更.升级频率变得越来越频繁.为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式. 停机发布 ...
- Jenkins发布回滚方案
Jenkins回滚可以通过每次发布从主干打tag,然后发布的时候发tag,比如tag, v1, v2,v3 如果我发布了v3,想要回滚回v2,直接在Jenkins中选择v2的tag地址重新构建就可以回 ...
随机推荐
- python学习之多窗口切换
多窗口切换: from selenium import webdriver d = webdriver.Firefox() d.window_handles #显示所有的窗口 d.current_wi ...
- Linux系统文件/etc/fstab
挂载可以使用命令或者修改系统文件两种方式,第一种方式使用mount命令挂载文件系统可以立即生效并使用,但计算机重启后无效.另一种方式需要修改系统文件/etc/fstab,这种方式挂载的文件系统在计算机 ...
- L1434滑雪
一,看题 1,这个长度怎么算的. 从它自己数,可以走下去的位置. 2,这个题的衣服怎么披上去呀. 3,搜索目标,状态. 肯定要用坐标,不然怎么搜索. 4,在前期还是多写把. 5,我靠这个点还是随机的& ...
- 002——keil-Error: L6915E: Library reports error: __use_no_semihosting was requested解决
..\OBJ\KEY.axf: Error: L6915E: Library reports error: __use_no_semihosting was requested, but _ttywr ...
- learning armbian steps(11) ----- armbian 源码分析(六)
接下来我们来分析一下uboot的编写过程: 从 lib/compilation.sh 89开始阅读: compile_uboot() { # not optimal, but extra clean ...
- PDB文件会影响性能吗?
有人问了这样的问题:"我工作的公司正极力反对用生成的调试信息构建发布模式二进制文件,这也是我注册该类的原因之一.他们担心演示会受到影响.我的问题是,在发布模式下生成符号的最佳命令行参数是什么 ...
- 关于异常System.ArgumentException
什么是System.ArgumentException 当向方法提供的参数之一无效时引发的异常. 继承 Object Exception SystemException ArgumentExcepti ...
- gulp初体验
项目流程 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 常用命令简介: node -v 查 ...
- 【luoguP2999】 [USACO10NOV]巧克力牛奶Chocolate Milk
题目链接 考虑每条路径都经过的一个点,它可以到达每个出度为零点(终点),且每个入读为零点(起点)都能到达它, 拓扑排序记录下每个结点能到达的出度为零点的个数和沿反边能到达的入读为零点个数,判断是否等于 ...
- leetcode 删除一张表中重复邮箱的数据,并且保留最小id 的 那条
/* create view testview as SELECT subject,MIN(Id) as id FROM test GROUP BY subject; select * FROM te ...