《赵成的运维体系管理课》学习笔记(2)——持续交付
21 | 人多力量大vs两个披萨原则,聊聊持续交付中的流水线模式
项目需求分解
将项目管理中的需求与持续发布中的应用这两者很好地关联起来。
明确好需求拆分与应用功能的对应。
提交阶段之开发模式选择
开发模式
- 主干开发模式
- gitflow开发模式
- 分支开发模式
开发模式的选型原则
分支开发模式简单清晰,在实际操作中更适合我们使用。
22 | 持续交付流水线软件构建难吗?有哪些关键问题?
构建环节
构建过程中的4中工具
- Gitlab
- Maven
- Docker
- 自动化脚本和平台
几个关键问题
- 配置文件如何打包?
代码提交、编译环境统一、配置管理。
- 为什么用Docker做编译环境的工具?
其创建和销毁的效率非常高
可以快速创建出多个并行的实例来提供编译环境
- 为什么不直接生成Docker镜像做发布?
23 | 持续交付中流水线构建完成后就大功告成了吗?别忘了质量保障
在流水线构建过程中,我们尤其要重视以下3个方面的工作内容。
依赖规则限制
对代码依赖的二方包和三方包做一些规则限制。
功能测试
- 工具介绍:
- JUnit和TestNG,分别做单元测试和接口测试;
- Maven插件,,maven-surefire-plugin,用来执行JUnit或TestNG用例;
- JaCoCo,分析单元测试和接口测试后的代码覆盖率;
- Jenkins,自动化测试任务执行,报表生成和输出,与Maven、JUnit、Gitlab这些工具结合非常好。
非功能测试
- 安全审计
由安全团队提供的源代码扫描工具 - 性能和容量压测
主要针对核心应用,进行发布前后的性能和容量比对
以上内容即“持续集成”
24 | 做持续交付概念重要还是场景重要?看“笨方法”如何找到最佳方案
历经如此多的环境,高效的自动化持续部署和发布就变得尤为重要。
软件的持续部署发布
软件的部署发布,简单来说就是:将构建完成和验证通过的应用软件包,发布到该应用对应环境下的IP主机上的指定目录下,并通过应用优雅上下线,来实现软件最新版本对外提供服务的过程。
发布策略
蓝绿发布、灰度发布、滚动发布
灰度发布和滚动发布的组合方式:相对平稳和可控
回滚:提供快速回滚的一键操作
持续交付体系的收益
持续交付体系运作起来后,整个流水线过程完全自助发布,运维无需接入,达到了DevOps,或者说NoOps的效果。
《赵成的运维体系管理课》学习笔记(2)——持续交付相关推荐
- 《赵成的运维体系管理课》学习笔记(5)——故障管理
37 | 故障管理:谈谈我对故障的理解 系统正常,只是改系统无数异常情况下的一种特例. Design for Failure: 我们的目标和注意力不应该放在消除故障,或者不允许故障发生上,因为我们无法 ...
- 《赵成的运维体系管理课》学习笔记(1)——持续交付
16 | 持续交付知易行难,想做成这事你要理解这几个关键点 什么是持续交付 首先要把持续交付做好. 做持续交付就是提升整个研发体系效率的关键. 持续交付代表着从从业务需求开始到交付上线之后的端到端的过 ...
- 赵成的运维体系管理课视频教程
专栏模块 专栏共三个月,36 期,围绕以应用为核心的运维体系,分四个模块介绍. 应用运维体系建设.这一模块是运维工作的基础,将从标准化和应用生命周期开始,介绍如何一步步建立运维技术体系和组织架构,如何 ...
- 《赵成的运维体系管理课》学习笔记(3)——云计算时代的运维实践
25 | 为什么蘑菇街会选择上云?是被动选择还是主动出击? 我们所面临的问题 成本闲置问题 大促,需要业务系统有足够的容量支持,浪费机柜成本和人工投入. 基础设施维护问题 IDC机房选址,IDC机房的 ...
- 《赵成的运维体系管理课》学习笔记(4)——稳定性保障
31 | 极端业务场景下,我们应该如何做好稳定性保障? 我们所面对的极端业务场景 可预测场景:双11 不可预测场景:鹿晗公布恋情 我们要迎接的技术挑战 运维自动化 标准化覆盖面是否足够广泛,应用体系是 ...
- 从《进化/运维技术变革与实践探索》看运维体系建设与个人成长
最近在学习赵成大佬的<进化/运维技术变革与实践探索>一书,在极客时间也有教程.整本书从以下的四个方面进行了梳理:应用运维体系建设.效率和稳定性等方面的最佳实践.云计算方面的思考和实践.个人 ...
- 【转载】拿来即用的企业级安全运维体系搭建指南
拿来即用的企业级安全运维体系搭建指南 本文我们将针对如何解决问题来进行详细说明,从问题入手,通过纠正或者培养良好的运维安全习惯,搭建完整的运维安全技术体系. 作者:林伟壕来源:DBAplus社群| 本 ...
- 阿里巴巴超大规模 Kubernetes 基础设施运维体系介绍
简介:ASI 作为阿里集团.阿里云基础设施底座,为越来越多的云产品提供更多专业服务,托管底层 K8s 集群,屏蔽复杂的 K8s 门槛.透明几乎所有的基础设施复杂度,并用专业的产品技术能力兜底稳定性,让 ...
- 阿里巴巴超大规模Kubernetes基础设施运维体系解读
简介:ASI:Alibaba Serverless infrastructure,阿里巴巴针对云原生应用设计的统一基础设施.ASI 基于阿里云公共云容器服务 ACK之上,支撑集团应用云原生化和云产品的 ...
最新文章
- javascript面向对象技术基础(二)
- #pragma once与 #ifndef的区别
- 李宏毅机器学习作业2:Winner还是Losser(含训练数据)
- JSP自定义标签 函数,实现生日计算年龄
- C语言学习之输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
- autocad .net开发指南_就业指南||职路明灯(二十)
- Docker Images for MySQL Cluster
- Python+Selenium自动化测试:Page Object模式
- OpenShift 4 - Pod是如何使用Serivce Account访问API的
- 国产 Java 代码补全神器,aiXcoder 2.0 实测
- 搜索引擎优化(SEO,Search Engine Optimization)如何让你的网站靠前排名
- 日记【2010-6-2】
- 安装cdr2019卡在正在下载_cdr2019最新版下载-coreldraw2019安装包中文版 - 极光下载站...
- 计算机专业英语pdf词汇百度盘,计算机专业英语词汇词.pdf
- 2020年日历_2020年日历全年表
- 当当网上书店购物车——源码
- spring boot开发入门
- 【mysql】mysql查询优化之索引类型、最左前缀
- Python如何导入自己编写的py文件(.pyx文件 .pyd文件)
- java期末考试复习题_java期末考试复习题库 试题题库.doc
热门文章
- 计算机专业学自我分析,计算机专业学习自我鉴定(精选6篇)
- Git常规配置与用法(记录,git配置文件在系统用户文件夹下)
- cocos2dx:重力加速度,自由落体:利用update()就能快速实现精灵自由落体运动
- 基于python的医学图像以辅助医疗系统
- 什么是模块化?为什么要模块化?
- 推荐一款免费开源的建站系统 - AnqiCMS
- css如何实现文字两端对齐,CSS如何实现文字两端对齐效果?
- pytorch的使用:卷积神经网络模块
- matlab从入门到精通 iso,《MATLAB从入门到精通》.(胡晓冬,董辰辉).[PDF]
- 单耳蓝牙耳机怎么连接_tws蓝牙耳机p10怎么双耳连接蓝牙?我之前是单耳连...