专栏首页一日一工具从零打造自己的CI/CD系统|rollback注意事项​

从零打造自己的CI/CD系统|rollback注意事项​

从零打造自己的CI/CD系统|rollback注意事项

今天我们来聊聊rollback, 前面的文档中我们铺垫了发布的时候远程机器上保留了几份记录,在回滚操作的时候这个就派上用场了,接下来我们来概括下回滚整个流程和需要注意的事项。

github仓库地址[1]

环境需求

参考上几篇文档

从零打造自己的CI/CD系统|php项目部署v1版本

从零打造自己的CI/CD系统|php项目部署v2版本

从零打造自己的CI/CD系统|php项目部署v3版本

从零打造自己的CI/CD系统|使用Jenkins作为操作入口

回滚需要注意的事项

全量发布

前面我们也说了,部署都是通过软链方式实现的,在全量发布的场景下,回滚的操作其中的一步就是把对应的软链切回上一个版本,这个相对来说复杂度没那么高。

增量发布

在增量发布的情况下,什么情况下会用到增量发布呢,我遇到的是为了解决页面白屏问题(为什么会白屏,因为对应的js已然找不到了),当时为了解决这个问题,在发布系统上做了兼容,也就是确保新旧版本都在,这样的话,用户访问基本不会有什么问题,但是出了问题,快速回滚的话,相对全量发布的场景,却没有那么容易了,我们需要考虑如何设计发布的时候上一个版本的保存和软链切换的时机等条件。

当前版本的清理

为什么要特别提到这一点,如果没有清理的情况下,再次发布出问题需要回滚的时候,那回滚就会无效,无效的原因是因为当前在远程机器上存在的这个版本是有问题的。

回滚所需要的操作

•获取需要回滚的版本(时间戳对应的目录)•获取当前的版本(时间戳对应的目录)•切换软链•重启服务(根据场景可选)•端口存活检测•smoketest•清理当前的版本•通知

总结

当然我们回滚的操作也是需要滚动的,确保服务一直对外提供,不能因为操作回滚二次造成线上服务不可用,回滚的操作逻辑相对来说还是比较精简的,而且都是远程操作,发布机器上或jenkins上点击触发即可。

引用链接

[1] github仓库地址: https://github.com/zhuima/kylin

本文分享自微信公众号 - 追马Linux(zhuima_k8s),作者:追马是我

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一个命令帮你实现磁盘空间占用分析

    ncdu是Unix系统上的磁盘分析工具。名称和du相似,但是ncdu可视化增强的交互式用户界面,操作类类似top,指令 1.09之后的版本可以将文件列表导出为J...

    追马
  • 从零打造自己的CI/CD系统|CD的演进之路

    •针对不同的项目编写与之适配的shell脚本•OPS跟着项目跑,因为要做不同的场景的适配•把脚本的公共部分抽出来复用•能解放一部分时间,但是约束依旧是很小

    追马
  • 从零打造自己的CI/CD系统|SmokeTest

    通常情况下,会把这块抽出来做成一个公共的包,避免每个项目都自己重新写一遍,也避免了每个业务线定义的uri各不相同的场景,各项目引用该基础包即可对外暴露一个接口,...

    追马
  • 一键修改Linux源加速下载

    随着 TUNA 协会的现代化建设进入新时代,镜像站面临的主要矛盾已经转化为用户日益增长的高速下载需要和各类软件不简单不直观的配置之间的矛盾。只有正确认识这一主要...

    阿凡亮
  • javascript算法学习打卡(第二周)

    对这个问题的进一步扩展,比如说我不仅要求重复的数字,我还要计算出出现次数最多的数字呢?笔者写了一个方法,供大家参考:

    徐小夕
  • 软件开发模式之敏捷开发

    什么是敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。 在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经...

    公众号php_pachong
  • 机器学习算法在自动驾驶领域的应用大盘点!

    AI科技评论按:本文原载于 kdnuggets,由林立宏、吴楚编译。 将汽车内外传感器的数据进行融合,借此评估驾驶员情况、进行驾驶场景分类,都要用到机器学习。本...

    AI科技评论
  • 机器学习算法在自动驾驶领域的应用大盘点!

    AI 研习社按:本文原载于 kdnuggets,由林立宏、吴楚编译。 将汽车内外传感器的数据进行融合,借此评估驾驶员情况、进行驾驶场景分类,都要用到机器学习。本...

    AI研习社
  • 机器学习在自动驾驶方面的应用

    概要:不同的自动驾驶算法。 来源:雷锋网 将汽车内外传感器的数据进行融合,借此评估驾驶员情况、进行驾驶场景分类,都要用到机器学习。本文中,我们讲解了不同的自动驾...

    IT派
  • python .pyc是个什么啥?

    我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言...

    py3study

扫码关注云+社区

领取腾讯云代金券