第一节 持续交付基础1:持续交付导引(3课时)
术语介绍:Waterfall, Agile, Scrum, CI/CD, Lean, MVP, DevOps, XP, TDD, UAT, etc.
错误实践举例
持续交付原则
课后作业:列举自己做过的项目中你认为违背持续交付原则的错误实践,给出理由和解决方案。
第二节 持续交付基础2:配置管理(3课时)
使用版本控制
依赖管理
环境管理及最佳实践
课后作业:调研 Ansible, Salt, Puppet, Chef, Disconf 等配置管理工具,找出市场上使用相关 工具的典型公司,分析比较各工具优缺点,给出各公司选择此工具的可能理由。
第三节 持续交付基础3:持续集成(3课时)
持续集成基本原则
持续集成最佳实践
课后作业:学习使用 Jenkins 或 Gitlab-CI 并集成一个项目 (比如 Hello-World) 到相应 CI 工具。
第四节 持续交付基础4:测试策略(3课时)
测试分类
自动化测试(前置知识需求待定)
容量/性能测试
课后作业:使用 TDD 原则,编写一个简单但完整的项目,比较与传统开发过程的优缺点,给出理由。
第五节 持续交付管道及其提交步骤(3课时)
持续交付架构及流程
提交步骤及最佳实践
课后作业:开发一个具有完整持续交付管道的简单项目,并能保证从代码提交到上线的全自动化完整交付过程(第一阶段)。
第六节 持续交付管道:测试步骤(3课时)
自动化测试及最佳实践
性能测试及最佳实践
课后作业:开发一个具有完整持续交付管道的简单项目,并能保证从代码提交到上线的全自动化完整交付过程(第二阶段)。
第七节 持续交付管道:部署和发布步骤(3课时)
部署和发布及最佳实践
Release Train 和 Feature Toggle
课后作业:开发一个具有完整持续交付管道的简单项目,并能保证从代码提交到上线的全自动化完整交付过程(第三阶段)。
第八节 持续交付实战(3课时)
Jenkins 2 实战
Gitlab-CI实战
课后作业:开发一个具有完整持续交付管道的简单项目,并能保证从代码提交到上线的全自动化完整交付过程(第四阶段)。