目标
- 从产品源代码制作出可运行APP,自动部署到安卓手机,运行自动测试程序检验正确性
- 包含自动任务
- APP Build 自动打包
- APP Build 自动发布
- APP Build 自动部署
- APP Build UI 自动测试
- 邮件通知任务结果
- 利用Jenkins Pipeline 技术实现APP持续交付的全自动化流水线过程
优势
- 重复性定式任务最适合让计算机来做
- 减少人力参与,提升工作效率
- 让Build不再是阻碍测试进度的因素
- 自动化重用率高,维护频率低
子任务拆分
- 获取源码
- 编译、打包
- 部署app
- 自动化测试
- 发布可测包
- 邮件通知
环境依赖
- 安卓 SDK
- 安卓设备(真机 or 模拟器)
- Appium 自动化测试
实战任务1:创建顺序执行 Jenkins Pipeline 项目
顺序任务流程图
添加Pipeline 代码
添加Pipeline 代码
添加Pipeline 代码
将代码添加到 Jenkins 项目中
将代码添加到 Jenkins 项目中
顺序执行的APP持续交付Pipeline任务运行调试
实战任务2:创建部分并行执行 Jenkins Pipeline 项目
- 流程效率的优化
- 目标:节约运行时间,提升效率
- 方法:抽取可并行的节点,减少等待时间
并行任务流程图
添加Pipeline 代码
添加Pipeline 代码
将代码添加到 Jenkins 项目与运行演示
顺序执行 与 部分并行执行效率对比
- 优化前后执行效率对比
- 串行执行:1分16秒
- 部分并行执行:59秒
本章小结
- 利用 Jenkins Pipeline 代码控制APP持续交付的全流程
- 持续交付的子任务拆分: 减少工作节点之间的耦合性,提高节点本身操作的内聚性
- 效率提升:并行与串行控制
- 利用代码控制交付过程,灵活、方便、有效