首页 > 其他分享 >DevOps持续部署的关键要素

DevOps持续部署的关键要素

时间:2022-11-24 21:26:17浏览次数:43  
标签:要素 方式 运维 部署 持续 环境 DevOps

 

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

图1 持续部署

 

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

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

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

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

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

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

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

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

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

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

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

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

标签:要素,方式,运维,部署,持续,环境,DevOps
From: https://www.cnblogs.com/tiduyun/p/16923379.html

相关文章

  • 部署 jenkins master 及多 slave 环境(第四周)
    jenkins分布式环境介绍jenkins分布式作用 在众多Job的场景下,单台jenkinsmaster同时执行代码clone、编译、打包及构建,其性能可能会出现瓶颈从而会影响代码部署效......
  • 华为云前后端节点分配以及前端部署
    华为云节点分配以及前端部署目标前后端资源分别部署到不同的节点准备资源server配置:/home/nginx/conf/default.conf项目编译结果:/home/nginx/resource/demo添加节......
  • springmvc环境部署报错: NoClassDefFoundError: org/springframework/web/cors/CorsPro
    部署springmvc的时候报出一个很奇怪的错误:org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname‘org.springframework.web.servlet.......
  • Office 2016 2019 2021 正版部署
    教学视频:https://www.youtube.com/watch?v=VSjRx7Hoa60文章摘抄自零度解说:https://www.freedidi.com/6619.html1.office软件部署工具:https://www.microsoft.com/en-us/d......
  • python 根据端口号杀死kill 在linux部署的进程
    importsubprocessimportosdefgetPid(port):"""获取进程pid"""try:back=subprocess.Popen("""lsof-i:%s|awk'NR==2{print$2}'"""%(port)......
  • SpringBoot+Vue在Linux系统部署说明文档
    部署手册目录部署手册 11. 环境说明 22. SpringBoot项目打包为war包 23. 前端项目打包 54. 虚拟机安装jdk1.8,配置相关环境 55. 虚拟机安装MySQL8.0,配置相关环境 56. 虚拟......
  • Jenkins教程(自动化部署)
    Jenkins教程(自动化部署)1.Jenkins是什么?Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins......
  • 某集团公司NTP网络时间同步服务器部署方案
    某集团公司NTP网络时间同步服务器部署方案某集团公司NTP网络时间同步服务器部署方案京准电子科技官微——ahjzsz本项目需配备多台HR-901GB网络时间服务器,各作业部部署一......
  • kubernetes1.15极速部署prometheus和grafana
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于prometheus和grafanaprometheus负责采集监控数据,grafana负......
  • 一个Nginx部署多个vue前端项目总结
    摘要:近来接手了一个二次开发的前后端分离模式的项目,其中在前端项目的部署上需要让2个前端项目都部署到一个IP地址和端口下,那么我们这里就要用到Nginx了,接下来我们看看如何在......