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)——持续交付相关推荐

  1. 《赵成的运维体系管理课》学习笔记(5)——故障管理

    37 | 故障管理:谈谈我对故障的理解 系统正常,只是改系统无数异常情况下的一种特例. Design for Failure: 我们的目标和注意力不应该放在消除故障,或者不允许故障发生上,因为我们无法 ...

  2. 《赵成的运维体系管理课》学习笔记(1)——持续交付

    16 | 持续交付知易行难,想做成这事你要理解这几个关键点 什么是持续交付 首先要把持续交付做好. 做持续交付就是提升整个研发体系效率的关键. 持续交付代表着从从业务需求开始到交付上线之后的端到端的过 ...

  3. 赵成的运维体系管理课视频教程

    专栏模块 专栏共三个月,36 期,围绕以应用为核心的运维体系,分四个模块介绍. 应用运维体系建设.这一模块是运维工作的基础,将从标准化和应用生命周期开始,介绍如何一步步建立运维技术体系和组织架构,如何 ...

  4. 《赵成的运维体系管理课》学习笔记(3)——云计算时代的运维实践

    25 | 为什么蘑菇街会选择上云?是被动选择还是主动出击? 我们所面临的问题 成本闲置问题 大促,需要业务系统有足够的容量支持,浪费机柜成本和人工投入. 基础设施维护问题 IDC机房选址,IDC机房的 ...

  5. 《赵成的运维体系管理课》学习笔记(4)——稳定性保障

    31 | 极端业务场景下,我们应该如何做好稳定性保障? 我们所面对的极端业务场景 可预测场景:双11 不可预测场景:鹿晗公布恋情 我们要迎接的技术挑战 运维自动化 标准化覆盖面是否足够广泛,应用体系是 ...

  6. 从《进化/运维技术变革与实践探索》看运维体系建设与个人成长

    最近在学习赵成大佬的<进化/运维技术变革与实践探索>一书,在极客时间也有教程.整本书从以下的四个方面进行了梳理:应用运维体系建设.效率和稳定性等方面的最佳实践.云计算方面的思考和实践.个人 ...

  7. 【转载】拿来即用的企业级安全运维体系搭建指南

    拿来即用的企业级安全运维体系搭建指南 本文我们将针对如何解决问题来进行详细说明,从问题入手,通过纠正或者培养良好的运维安全习惯,搭建完整的运维安全技术体系. 作者:林伟壕来源:DBAplus社群| 本 ...

  8. 阿里巴巴超大规模 Kubernetes 基础设施运维体系介绍

    简介:ASI 作为阿里集团.阿里云基础设施底座,为越来越多的云产品提供更多专业服务,托管底层 K8s 集群,屏蔽复杂的 K8s 门槛.透明几乎所有的基础设施复杂度,并用专业的产品技术能力兜底稳定性,让 ...

  9. 阿里巴巴超大规模Kubernetes基础设施运维体系解读

    简介:ASI:Alibaba Serverless infrastructure,阿里巴巴针对云原生应用设计的统一基础设施.ASI 基于阿里云公共云容器服务 ACK之上,支撑集团应用云原生化和云产品的 ...

最新文章

  1. javascript面向对象技术基础(二)
  2. #pragma once与 #ifndef的区别
  3. 李宏毅机器学习作业2:Winner还是Losser(含训练数据)
  4. JSP自定义标签 函数,实现生日计算年龄
  5. C语言学习之输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
  6. autocad .net开发指南_就业指南||职路明灯(二十)
  7. Docker Images for MySQL Cluster
  8. Python+Selenium自动化测试:Page Object模式
  9. OpenShift 4 - Pod是如何使用Serivce Account访问API的
  10. 国产 Java 代码补全神器,aiXcoder 2.0 实测
  11. 搜索引擎优化(SEO,Search Engine Optimization)如何让你的网站靠前排名
  12. 日记【2010-6-2】
  13. 安装cdr2019卡在正在下载_cdr2019最新版下载-coreldraw2019安装包中文版 - 极光下载站...
  14. 计算机专业英语pdf词汇百度盘,计算机专业英语词汇词.pdf
  15. 2020年日历_2020年日历全年表
  16. 当当网上书店购物车——源码
  17. spring boot开发入门
  18. 【mysql】mysql查询优化之索引类型、最左前缀
  19. Python如何导入自己编写的py文件(.pyx文件 .pyd文件)
  20. java期末考试复习题_java期末考试复习题库 试题题库.doc

热门文章

  1. 计算机专业学自我分析,计算机专业学习自我鉴定(精选6篇)
  2. Git常规配置与用法(记录,git配置文件在系统用户文件夹下)
  3. cocos2dx:重力加速度,自由落体:利用update()就能快速实现精灵自由落体运动
  4. 基于python的医学图像以辅助医疗系统
  5. 什么是模块化?为什么要模块化?
  6. 推荐一款免费开源的建站系统 - AnqiCMS
  7. css如何实现文字两端对齐,CSS如何实现文字两端对齐效果?
  8. pytorch的使用:卷积神经网络模块
  9. matlab从入门到精通 iso,《MATLAB从入门到精通》.(胡晓冬,董辰辉).[PDF]
  10. 单耳蓝牙耳机怎么连接_tws蓝牙耳机p10怎么双耳连接蓝牙?我之前是单耳连...