你将获得什么?
- 系统了解 CI/CD 核心知识;
- 中小团队持续交付实战案例;
- 从 0 开始快速构建持续交付系统。
课程介绍
简单来说,持续交付就是通过提升软件交付效率、统一标准、规范流程、工具化等方式,来进一步提升软件研发效能,并解决软件研发进度不可控、版本混乱难控无法回滚和回溯、无法快速定位发布问题、研发团队互相等待互相依赖等等问题。
但大多企业在落地自己的持续交付体系时,都会遇到以下难题:
- 选择哪种代码分支策略,才能搭建高效的持续交付体系?
- 测试自动化还没实现,发布自动化更是遥遥无期,要怎么才能实现持续交付?
- 团队规模较小,无法复制大厂的成功经验,持续交付体系是不是不适合小团队?
- 持续交付涉及软件研发的整个生命周期,如何才能在公司内快速推进?
《持续交付 36 讲》这个课程的目标,就是要帮你解决这些现实的问题。
在这个课程里,王潇俊将为你系统梳理持续交付的核心知识,带你拓展持续交付知识的深度和广度,全面立体地看待和解决问题。
同时,为了帮助你将持续交付体系落地,王潇俊还会结合具体实战案例,让你能够快速搭建一套适合自身情况的持续交付体系,不管你的团队有多少人。
本课程共包括四大模块,系统介绍持续交付核心知识和实际落地问题。
- 持续交付知识详解: 通过对持续交付 5 大核心内容(配置管理、环境管理、构建集成、灰度发布和测试管理)的介绍,帮你系统地、全面地了解持续交付。
- 持续交付的平台化: 通过实际的设计案例,整合持续交付的各个环节,帮你以平台化思维,进一步完善和优化你的持续交付体系。
- 打造移动 App 的持续交付体系: 将介绍与传统网站、后端服务完全不同的持续交付思想,以及业内领先的相关技术和设计,教你构建适合移动端产品的持续交付体系。
- 利用开源工具快速打造持续交付平台: 将为你系统介绍构建持续交付体系的三款开源工具:GitLab、Jenkins、Ansible,并以此为基础带你构建一套完整的持续交付平台。
课程目录
开篇词 (1讲)
开篇词 | 量身定制你的持续交付体系
基本概念 (3讲)
01 | 持续交付到底有什么价值?
02 | 影响持续交付的因素有哪些?
03 | 持续交付和DevOps是一对好基友
配置管理 (4讲)
04 | 一切的源头,代码分支策略的选择
05 | 手把手教你依赖管理
06 | 代码回滚,你真的理解吗?
07 | “两个披萨”团队的代码管理实际案例
环境管理 (6讲)
08 | 测试环境要多少?从现实需求说起
09 | 测试环境要多少?从成本与效率说起
10 | 让环境自己说话,论环境自描述的重要性
11 | “配置”是把双刃剑,带你了解各种配置方法
12 | 极限挑战,如何做到分钟级搭建环境?
13 | 容器技术真的是环境管理的救星吗?
构建集成 (5讲)
14 | 如何做到构建的提速,再提速!
15 | 构建检测,无规矩不成方圆
16 | 构建资源的弹性伸缩
17 | 容器镜像构建的那些事儿
18 | 如何做好容器镜像的个性化及合规检查?
发布及监控 (6讲)
19 | 发布是持续交付的最后一公里
20 | Immutable!任何变更都需要发布
21 | 发布系统一定要注意用户体验
22 | 发布系统的核心架构和功能设计
23 | 业务及系统架构对发布的影响
24 | 如何利用监控保障发布质量?
测试管理 (3讲)
25 | 代码静态检查实践
26 | 越来越重要的破坏性测试
27 | 利用Mock与回放技术助力自动化回归
持续交付平台化 (3讲)
28 | 持续交付为什么要平台化设计?
29 | 计算资源也是交付的内容
30 | 持续交付中有哪些宝贵数据?
持续交付移动App (3讲)
31 | 了解移动App的持续交付生命周期
32 | 细谈移动APP的交付流水线(pipeline)
33 | 进阶,如何进一步提升移动APP的交付效率?
实践案例 (4讲)
34 | 快速构建持续交付系统(一):需求分析
35 | 快速构建持续交付系统(二):GitLab 解决代码管理问题
36 | 快速构建持续交付系统(三):Jenkins 解决集成打包问题
37 | 快速构建持续交付系统(四):Ansible 解决自动部署问题
特别放送 (2讲)
持续交付专栏特别放送 | 答疑解惑
持续交付专栏特别放送 | 高效学习指南
结束语 (1讲)
结束语 | 越痛苦的事,越要经常做
结课测试 (1讲)
结课测试|这些持续交付的相关知识,你都掌握了吗?
讲师介绍
王潇俊,携程旅行网系统研发部总监,目前负责携程 PaaS 平台、容器云及持续交付体系等,在加入携程前,曾在大众点评网负责研发工具平台及持续部署工作。
王潇俊具有超过 10 年的互联网企业技术开发及管理经验,既经历过创业公司发展的过程,也在成熟的大型公司担任过技术管理工作;既从事过直接面向用户的业务端开发,也经历过平台工具、系统架构和云架构的研发,对整个互联网的研发技术、体系、方法有较深入的理解。