课程简介
本课程旨在帮助企业或团队理解和掌握持续集成和持续交付的重要概念和方法,通过讲解、讨论和工作坊等形式,让学员在思考和实践中体会如何在自己的团队中,从技术和流程两个方面将持续交付落地,确实的帮助企业加速软件交付过程。
目标收益
a)理解和掌握持续集成与持续交付的概念和必要性
b)理解如何结合实际开发不熟流程去设计高效的持续集成流水线
c)知道如何选择并应用合适的CI工具去搭建持续集成流水线
d)理解自动化构建、代码提交的最佳实践和相关工具的应用方式
e)理解以度量的思路去优化和改进持续集成过程
f)理解并掌握CI中构建自动化测试的重要性和策略
g)理解Pipeline as code的概念、优势,并懂得如何实施
h)服务下持续交付落实施方法和案例
i)理解企业持续交付评估模型概念和应用方法
培训对象
架构师、研发/技术/测试经理、开发、测试工程师,以及期望优化和加速研发和部署流程的企业、团队和个人,至少1年以上软件研发、测试经验
课程大纲
持续集成 |
1.1持续集成出现的原因 1.2持续集成解决了哪些问题 1.3如何为团队设计流水线 |
持续集成工具、要点 |
1.1持续集成工具的对比和选择 Jenkins, GoCD, ConsourseCI, TravisCI, etc. 1.2 Jenkins搭建持续集成服务器 1.3 基于Jenkins搭建持续集成流水线 |
自动构建 |
1.1代码管理工具Git 1.2自动构建工具Gradle,Maven介绍和对比 1.3代码规范检 1.4缩短反馈周期 |
静态代码分析 |
1.1复杂度检查 1.2技术债务管理 1.3质量门禁 1.4 SonarQube实践 |
自动化测试 |
1.1.单元测试 1.2.单元测试覆盖率检查 1.3.契约测试 1.4.API 测试 1.5.Mock Stub策略 |
持续集成度量 |
1.1代码度量 1.2流水线度量 1.3团队交付速率度量 1.4持续改进 |
配置管理 |
1.1配置与代码分离 1.2多环境配置文件管理 1.3配置管理中心化 1.4配置更改热启动 |
部署 |
1.1自动化部署的优势和流程 1.2自动化工具介绍Chef、Puppet、Ansible 1.3部署策略 |
Pipeline as code |
1.1什么事Pipeline as code 1.2 Pipeline as code在Jenkins中的实践介绍 1.3.构建Pipeline as code的持续集成流水线 |
持续交付 | 1.1基于微服务的持续交付流水线设计 质量内建 持续改进 基于Cloud Container的部署 |
持续集成 1.1持续集成出现的原因 1.2持续集成解决了哪些问题 1.3如何为团队设计流水线 |
持续集成工具、要点 1.1持续集成工具的对比和选择 Jenkins, GoCD, ConsourseCI, TravisCI, etc. 1.2 Jenkins搭建持续集成服务器 1.3 基于Jenkins搭建持续集成流水线 |
自动构建 1.1代码管理工具Git 1.2自动构建工具Gradle,Maven介绍和对比 1.3代码规范检 1.4缩短反馈周期 |
静态代码分析 1.1复杂度检查 1.2技术债务管理 1.3质量门禁 1.4 SonarQube实践 |
自动化测试 1.1.单元测试 1.2.单元测试覆盖率检查 1.3.契约测试 1.4.API 测试 1.5.Mock Stub策略 |
持续集成度量 1.1代码度量 1.2流水线度量 1.3团队交付速率度量 1.4持续改进 |
配置管理 1.1配置与代码分离 1.2多环境配置文件管理 1.3配置管理中心化 1.4配置更改热启动 |
部署 1.1自动化部署的优势和流程 1.2自动化工具介绍Chef、Puppet、Ansible 1.3部署策略 |
Pipeline as code 1.1什么事Pipeline as code 1.2 Pipeline as code在Jenkins中的实践介绍 1.3.构建Pipeline as code的持续集成流水线 |
持续交付 1.1基于微服务的持续交付流水线设计 质量内建 持续改进 基于Cloud Container的部署 |