持续集成与持续部署最佳实践

持续集成与持续部署最佳实践
    马上咨询


    赵老师   毕业于清华大学软件学院

    • 具有14年敏捷与自动化测试项目实战经验,其中6年互联网金融数据通信与银行项目测试经验,10年敏捷项目实战经验,12年培训授课经验。包括金融系统、广告系统、企业信息化、企业互联网应用,AI技术与应用等。
    • 曾任IBM中国研发中心任测试主管、测试专家,带领测试团队完成多个跨国项目的集成、系统、验收测试,并且将敏捷测试很好的应用于项目开发中。
    • 曾于世界500强金融外企任首席软件测试开发工程师兼自动化测试主管,参与多个项目的敏捷转型、敏捷项目管理、自动化测试工具设计、框架开发以及部署工作。
    • 主要擅长自动化与敏捷测试,DevOps架构设计与实施,持续集成环境构建,测试框架与工具开发,Scrum团队管理,端到端自动化部署等。作为测试专家和敏捷教练,将敏捷测试与实践深入到项目各个环节中。
    • 多界TID大会特约测试专家讲师,QConDevOps专家讲师。
    • 曾获得PMP,ISTQB,国家软件评测师,6 Sigma GB等多项认证。

    课程特点

    • 更多的将理论与实践相结合,提出现实可行的问题解决方案
    • 强调与学员互动,采用讨论+实践相结合的方式,在积极思考和实践中更好的掌握知识
    • 以动手实践为主,结合企业实际项目提出问题解决方案
    • 展示大量的图示,便于学员更形象的理解知识点及相关内容

    课程大纲

    DevOps常见问题分析与讨论 ~ 0.25小时

    常见问题分析与讨论

    • 问题分析练习
    • 讨论
    DevOps过程与体系~ 0.5小时

    DevOps概述

    • 什么是DevOps
    • DevOps发展现状
    • DevOps的作用
    • DevOps未来发展趋势

    DevOps过程与体系

    • DevOps与敏捷开发过程
    • DevOps对应用程序发布的影响
    • 角色定义与分工
    • 变更管理
    • 促进DevOps战略
    • DevOps成功的关键因素
    • DevOps五大重点
    • DevOps度量标准
    持续集成概述与实践 ~ 0.5小时

    持续集成概述

    • 什么是持续集成(CI)
    • 为什么需要持续集成?
    • 主流持续集成工具对比分析
    • 持续集成的优势
    • 持续集成过程包含要素
    • 持续集成面板
    • 每日构建与持续集成
    • 持续集成常见问题解决方案
    • 持续集成环境配置

    持续集成实践

    • 提高项目的可见性
    • 持续集成原则
    • 6步提交法
    • 持续集成的主要瓶颈
    • 如何真正做到敏捷测试?
    • 一段视频引发的思考
    • 【案例】传统测试与敏捷测试项目对比
    • 【案例】CI值日生

    Jenkins概述

    • Jenkins简介
    • Jenkins安装方式
    • Jenkins启动方式
    • Jenkins主要功能
    • Jenkins应用场景
    • Jenkins如何实现持续集成
    持续集成过程详解与Jenkins应用 ~ 5小时

    质量左移

    • 缺陷修复成本比较
    • 质量左移与右移
    • 质量左移的目的

    静态代码扫描

    • 代码质量
    • 静态代码扫描的重要性
    • 代码的坏味道
    • 烂代码的代价-产生bug的原因
    • 优秀代码的评价标准
    • 静态测试与动态测试
    • SVN/git插件应用
    • Sonar cube简介
    • Sonar cube配置
    • 质量阈与扫描规则定义
    • Sonar cube与jenkins集成
    • 【案例】使用sonar cube进行代码扫描
    • 【案例】扫描结果邮件与消息通知

    代码编译构建

    • 利用maven编译java代码
    • 定时构建
    • 代码提交触发构建-钩子设置
    • 打包版本管理与显示
    • 并行化构建

    构建打包存档

    • 上传jar包至FTP服务器
    • 构建结束自动通知

    代码覆盖率统计与分析

    • java代码覆盖统计工具jacoco
    • 代码覆盖工具与jenkins集成

    测试环境自动化构建

    • 绑定jenkins slave环境
    • slave标签化管理
    • 部署被测系统
    • 指定slave环境运行测试

    自动化测试框架robot framework

    • Robot Framework 简介
    • Robot Framework安装与配置
    • 如何使用Robot集成外部脚本与工具
    • 使用Robot集成脚本运行结果
    • 【案例】使用Robot调用外部脚本
    • 【案例】端到端框架架构设计

    web测试自动化与报告

    • selenium环境搭建与安装
    • 常用关键字与操作
    • 利用python开发自定义关键字
    • 封装关键字并复用
    • 使用robot +selenium实现web自动化
    • 展示html报告
    • 结果邮件自动通知
    持续集成流水线构建与应用 ~ 1小时

    Jenkins实用插件案例

    • Pipeline插件应用
    • 定时触发job
    • Dashboard插件
    • 邮件通知插件

    流水线构建

    • 上下游job关联
    • 并行job配置
    • 参数上下游传递
    • 定制化流水线
    • 流水线可视化展示
    自动化持续部署CD~ 1.5小时

    持续部署

    • 持续交付与持续部署
    • 持续部署的主要过程
    • promote tag机制
    • post check
    • 滚动升级
    • 版本回滚

    蓝绿发布

    • 什么是蓝绿发布
    • 蓝绿发布实现步骤

    使用Jenkins实现CD

    • SSH远程节点绑定
    • 远程部署脚本编写
    • 【案例】使用Jenkins实现蓝绿发布

    线上自动化健康检查

    • 接口调用检查
    • 流量检查
    • 监控指标检查
    上机实战与练习 ~4小时 (课堂穿插进行)

    上机练习

    • 安装/配置 Jenkins
    • 常用插件安装与配置
    • 构建pipeline流水线
    • 与git集成
    • 编译打包
    • 集成测试环境自动化部署
    • 运行自动化测试
    • 结果邮件通知
    • Job参数传递
    • Jenkins master & slave 配置
    • 自动化持续部署
    • 线上自动化健康检查

    练习常见问题汇总讲解

    • 问题汇总分析与讲解
    课程总结与答疑~0.25小时
    课程总结与答疑