课程简介
本课程聚焦CICD应用与项目最佳实践,为期两天。结合案例分析、演示与上机实践,深入探讨CICD常见问题及解决方案。课程涵盖DevOps过程、持续集成、自动化测试、持续部署等关键环节,使用Jenkins、SonarQube、Robot Framework等工具。通过理论与实践结合,帮助学员提升项目交付效率与质量。
目标收益
1、掌握CICD流程,提升项目交付效率。
2、学会使用Jenkins实现持续集成。
3、理解DevOps体系,促进团队协作。
4、掌握自动化测试框架,提高测试效率。
5、学会代码质量评估,提升代码质量。
6、掌握持续部署方法,实现自动化部署。
培训对象
IT项目管理人员
软件开发工程师
测试工程师
DevOps工程师
敏捷教练
技术团队负责人
课程大纲
DevOps概述 |
1.什么是DevOps 2.DevOps发展现状 3.DevOps的作用 4.DevOps未来发展趋势 |
DevOps过程与体系 |
1.DevOps与敏捷开发过程 2.DevOps对应用程序发布的影响 3.角色定义与分工 4.变更管理 5.促进DevOps战略 6.DevOps成功的关键因素 7.DevOps五大重点 8.DevOps度量标准 |
持续集成概述 |
1.什么是持续集成(CI) 2.为什么需要持续集成? 3.主流持续集成工具对比分析 4.持续集成的优势 5.持续集成过程包含要素 6.持续集成面板 7.每日构建与持续集成 8.持续集成常见问题解决方案 9.持续集成环境配置 |
持续集成实践 |
1.提高项目的可见性 2.持续集成原则 3.6步提交法 4.持续集成的主要瓶颈 5.如何真正做到敏捷测试? 6.一段视频引发的思考 7.【案例】传统测试与敏捷测试项目对比 8.【案例】CI值日生 |
Jenkins概述 |
1.Jenkins简介 2.Jenkins安装方式 3.Jenkins启动方式 4.Jenkins主要功能 5.Jenkins应用场景 6.Jenkins如何实现持续集成 |
质量左移 |
1.缺陷修复成本比较 2.质量左移与右移 3.质量左移的目的 4.【案例】利用大模型进行代码质量评分 |
静态代码扫描 |
1.代码质量 2.静态代码扫描的重要性 3.代码的坏味道 4.烂代码的代价-产生bug的原因 5.优秀代码的评价标准 6.静态测试与动态测试 7.git插件应用 8.SonarQube简介 9.SonarQube配置 10.质量阈与扫描规则定义 11.Sonar cube与jenkins集成 12.【案例】使用SonarQube进行代码扫描 13.【案例】扫描结果邮件与消息通知 |
代码编译构建 |
1.编译java代码 2.定时构建 3.代码提交触发构建-钩子设置 4.打包版本管理与显示 5.并行化构建 |
构建打包存档 |
1.上传jar包至FTP服务器 2.构建结束自动通知 |
代码覆盖率统计与分析 |
1.java代码覆盖统计工具jacoco 2.代码覆盖工具与jenkins集成 |
测试环境自动化构建 |
1.绑定jenkins slave环境 2.slave标签化管理 3.部署被测系统 4.指定slave环境运行测试 |
自动化测试框架robot framework |
1.Robot Framework 简介 2.Robot Framework安装与配置 3.如何使用Robot集成外部脚本与工具 4.使用Robot集成脚本运行结果 5.【案例】使用Robot调用外部脚本 6.【案例】全流程测试自动化框架 |
API接口测试自动化 |
1.发送请求 2.为URL传递参数 3.响应内容 4.原始响应内容 5.响应状态码 6.错误与异常 7.通过关键字驱动实现API测试自动化 8.【案例】使用robot+request完成API测试自动化 |
web测试自动化与报告 |
1.selenium环境搭建与安装 2.常用关键字与操作 3.利用python开发自定义关键字 4.封装关键字并复用 5.使用robot +selenium实现web自动化 6.展示html报告 7.结果邮件自动通知 |
Jenkins实用插件案例 |
1.Pipeline插件应用 2.定时触发job 3.Dashboard插件 4.邮件通知插件 |
流水线构建 |
1.上下游job关联 2.并行job配置 3.参数上下游传递 4.定制化流水线 5.流水线可视化展示 |
持续部署 |
1.持续交付与持续部署 2.持续部署的主要过程 3.promote tag机制 4.post check 5.滚动升级 6.版本回滚 |
蓝绿发布 |
1.什么是蓝绿发布 2.蓝绿发布实现步骤 |
使用Jenkins实现CD |
1.SSH远程节点绑定 2.远程部署脚本编写 3.【案例】使用Jenkins实现蓝绿发布 |
线上自动化健康检查 |
1.接口调用检查 2.流量检查 3.监控指标检查 |
上机练习(课堂穿插进行) |
1.1.安装/配置 Jenkins 1.2.常用插件安装与配置 1.3.构建pipeline流水线 1.3.1.与git集成 1.3.2.编译打包 1.3.3.集成测试环境自动化部署 1.3.4.运行自动化测试 1.4.Job参数传递 1.5.Jenkins master & slave 配置 |
DevOps概述 1.什么是DevOps 2.DevOps发展现状 3.DevOps的作用 4.DevOps未来发展趋势 |
DevOps过程与体系 1.DevOps与敏捷开发过程 2.DevOps对应用程序发布的影响 3.角色定义与分工 4.变更管理 5.促进DevOps战略 6.DevOps成功的关键因素 7.DevOps五大重点 8.DevOps度量标准 |
持续集成概述 1.什么是持续集成(CI) 2.为什么需要持续集成? 3.主流持续集成工具对比分析 4.持续集成的优势 5.持续集成过程包含要素 6.持续集成面板 7.每日构建与持续集成 8.持续集成常见问题解决方案 9.持续集成环境配置 |
持续集成实践 1.提高项目的可见性 2.持续集成原则 3.6步提交法 4.持续集成的主要瓶颈 5.如何真正做到敏捷测试? 6.一段视频引发的思考 7.【案例】传统测试与敏捷测试项目对比 8.【案例】CI值日生 |
Jenkins概述 1.Jenkins简介 2.Jenkins安装方式 3.Jenkins启动方式 4.Jenkins主要功能 5.Jenkins应用场景 6.Jenkins如何实现持续集成 |
质量左移 1.缺陷修复成本比较 2.质量左移与右移 3.质量左移的目的 4.【案例】利用大模型进行代码质量评分 |
静态代码扫描 1.代码质量 2.静态代码扫描的重要性 3.代码的坏味道 4.烂代码的代价-产生bug的原因 5.优秀代码的评价标准 6.静态测试与动态测试 7.git插件应用 8.SonarQube简介 9.SonarQube配置 10.质量阈与扫描规则定义 11.Sonar cube与jenkins集成 12.【案例】使用SonarQube进行代码扫描 13.【案例】扫描结果邮件与消息通知 |
代码编译构建 1.编译java代码 2.定时构建 3.代码提交触发构建-钩子设置 4.打包版本管理与显示 5.并行化构建 |
构建打包存档 1.上传jar包至FTP服务器 2.构建结束自动通知 |
代码覆盖率统计与分析 1.java代码覆盖统计工具jacoco 2.代码覆盖工具与jenkins集成 |
测试环境自动化构建 1.绑定jenkins slave环境 2.slave标签化管理 3.部署被测系统 4.指定slave环境运行测试 |
自动化测试框架robot framework 1.Robot Framework 简介 2.Robot Framework安装与配置 3.如何使用Robot集成外部脚本与工具 4.使用Robot集成脚本运行结果 5.【案例】使用Robot调用外部脚本 6.【案例】全流程测试自动化框架 |
API接口测试自动化 1.发送请求 2.为URL传递参数 3.响应内容 4.原始响应内容 5.响应状态码 6.错误与异常 7.通过关键字驱动实现API测试自动化 8.【案例】使用robot+request完成API测试自动化 |
web测试自动化与报告 1.selenium环境搭建与安装 2.常用关键字与操作 3.利用python开发自定义关键字 4.封装关键字并复用 5.使用robot +selenium实现web自动化 6.展示html报告 7.结果邮件自动通知 |
Jenkins实用插件案例 1.Pipeline插件应用 2.定时触发job 3.Dashboard插件 4.邮件通知插件 |
流水线构建 1.上下游job关联 2.并行job配置 3.参数上下游传递 4.定制化流水线 5.流水线可视化展示 |
持续部署 1.持续交付与持续部署 2.持续部署的主要过程 3.promote tag机制 4.post check 5.滚动升级 6.版本回滚 |
蓝绿发布 1.什么是蓝绿发布 2.蓝绿发布实现步骤 |
使用Jenkins实现CD 1.SSH远程节点绑定 2.远程部署脚本编写 3.【案例】使用Jenkins实现蓝绿发布 |
线上自动化健康检查 1.接口调用检查 2.流量检查 3.监控指标检查 |
上机练习(课堂穿插进行) 1.1.安装/配置 Jenkins 1.2.常用插件安装与配置 1.3.构建pipeline流水线 1.3.1.与git集成 1.3.2.编译打包 1.3.3.集成测试环境自动化部署 1.3.4.运行自动化测试 1.4.Job参数传递 1.5.Jenkins master & slave 配置 |