《赵成的运维体系管理课》学习笔记(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的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值