• DevOps持续部署的关键要素


    当有版本通过持续集成流水线进行构建之后,就可以将其部署至某个具体的环境,这就需要自动化部署技术,将这个自动化部署和持续集成流水线连接起来,就可实现持续部署。如图1所示,实现持续部署的前提是至少拥有一条完整的自动化构建、部署、测试和发布流程。

    图1 持续部署

     

    传统软件的部署模式通常有如下几种。

    □ 通过纯手工的方式来部署应用软件。

    □ 在开发人员完成代码以后,才在生产环境做部署。

    □ 运维人员在生产环境通过手工方式修改配置。

    这 3 种方式的执行效率较低,发布质量也没有稳定的保障,极大地限制了IT系统对业务的能力支撑,坚持传统部署模式,已经不能满足灵活多变的市场需求。DevOps 持续部署的适时出现,既解决了执行效率问题,又保障了交付质量。

    持续部署作为 DevOps 流水线上的重要环节,在实施的过程当中有哪些场景是需要重点关注的,我们来看一下持续部署的关键要素有哪些。

    (1)部署的执行者必须参与创建部署的过程,也就是说工程师需要完全参与每一个具体的过程,亲身经历部署过程。

    (2)在整个部署过程当中,应该详细、明确地记录下每一个环节的所有经过以及相关活动的输入输出,通常不会选择去删除整个部署过程当中相关的或产生的任何数据,而是采用转移的方式,统一保存到规划好的地方,这样一方面方便做数据的回滚,另一方面也方便在对历史版本去做追溯的时候能够有据可查。

    (3)持续部署是整个团队的共同责任,我们通常认为部署是运维人员的职责,而 DevOps 强调的是开发、运维一体化。每一次部署目标都是团队内的成员共同努力的结果,持续部署的本质是对团队交付成果的一次检验。

    (4)新的部署动作应该采用预发布的方式,在准生产环境或者测试环境预先部署并验证,避免给生产环境带来不可控的直接影响。对应方法有蓝绿发布、金丝雀发布等模式。

    (5)积极面对快速失败。DevOps 方法论里一直在强调敏捷,敏捷就代表着快速,越快的失败,能够越快地给我们带来结果的反馈,也方便我们能够尽快地发现过程中出现的任何问题,促进问题的分析定位和修复。

    (6)统一的启动脚本。持续部署通常会面临同一应用程序在不同阶段的不同环境,在不同环境采用不一致的启动方式,非常容易导致测试环境和生产环境的不一致,因此 DevOps 要求准备统一的启动脚本,并通过传参的方式来调用,从而保障同一应用程序在不同环境的一致性部署。

  • 相关阅读:
    计算机网络第八章知识点回顾(自顶向下)
    勒索病毒最新变种.Malloxx勒索病毒来袭,如何恢复受感染的数据?
    字符集(ASCII、GBK、Unicode、UTF-8)
    FFplay文档解读-32-视频过滤器七
    查询三级数据结构sql语句
    天才在左,疯子在右读书笔记 -- 高铭著
    #WEB前端(JS基础语法)
    SpringBoot SSMP项目搭建保姆级教程
    skywalking监控
    如何并行化普通的python代码
  • 原文地址:https://blog.csdn.net/m0_60258751/article/details/128026832