持续集成/持续交付/DevOps¶
课程描述¶
本课程将使得学员深入探索容器化技术、持续集成与持续交付的核心领域,通过理论与实践相结合的方式,全面提升学员在 Docker 容器技术、Jenkins 持续集成系统、以及 Kubernetes(K8s)集群管理方面的技能。
课程收益¶
通过此次课程培训,可使学习者获得如下收益:
- 掌握 Docker 容器技术及其常用命令。
- 掌握利用 Docker 构建可发布镜像的方法。
- 利用 Docker 搭建常见测试平台。
- 掌握最流行的持续集成系统 Jenkins 的实战使用技巧。
- 掌握用户端 UI 自动化测试与服务端接口测试的持续集成接入的方法,完成持续集成体系的构建。
- 了解基于 Docker 与 Blue Ocean 构建企业的持续交付体系。
- 了解基于 Jenkins API 实现运维与测试的协同自动化。
- 掌握 K8s 安装与配置和运行机制。
- 熟悉 K8S 的 kubectl。
授课形式¶
- 课堂讲授
- 讲义解析
- 测试情景模拟
- 项目实战
讲师介绍¶
Docker 容器技术-L1¶
学习目标¶
- 掌握Docker的安装与配置
- 掌握Docker命令行搭建常用平台
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 容器技术介绍 | Docker 的价值、Docker 的学习路线 |
知识点 | Docker 的安装与配置 | Docker 在 linux 上的安装与配置、国内加速的配置 |
知识点 | Docker 容器管理 | 常用的 Docker 容器管理命令 |
知识点 | Docker 镜像管理 | 常用的 Docker 镜像管理命令 |
知识点 | 搭建 Web 服务器 Nginx | 使用一行命令搭建 Web 服务器 Nginx |
知识点 | 搭建数据库服务 MySQL | 使用一行命令搭建数据库服务 MySQL |
知识点 | 搭建持续集成平台 Jenkins | 使用一行命令搭建持续集成平台 Jenkins |
知识点 | 搭建项目管理平台 Jira | 使用一行命令搭建项目管理平台 Jira |
知识点 | 搭建测试用例管理平台 testlink | 使用 Docker 搭建测试用例管理平台 |
Docker 容器技术-L2¶
学习目标¶
- 掌握Docker常用场景
- 掌握Docker常用设置
- Docker部署UI自动化分布式环境
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Docker 与虚拟机解析 | Docker 与虚拟机的架构区别 |
知识点 | Docker 和虚拟机的使用场景 | 详解什么样的场景使用 Docker 什么样的场景使用虚拟机。 |
知识点 | Docker 与容器网络 | bridge,host 与 container 网络模式详解 |
知识点 | 部署分布式 UI 自动化测试环境 | 部署分布式 UI 自动化测试环境 |
知识点 | 【实战】Docker-compose 实战练习 | Docker-Compose 实战练习 |
Docker 容器技术-L3¶
学习目标¶
- 掌握Docker容器镜像制作
- Dockerfile文件详解
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Docker 容器镜像简介 | 使用场景 |
知识点 | Docker 容器镜像制作命令 | Docker commit 与 Dockerfile 制作镜像。 |
知识点 | 【实战】Docker 制作容器镜像实战 | Dockerfile 的详细教程 |
知识点 | 【实战】Docker 私有镜像仓库实战 | 私有镜像仓库实战 |
Docker 容器技术-L4¶
学习目标¶
- 掌握Docker隔离及资源限制原理
- 掌握Docker镜像设计
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Docker 容器隔离 namespace | Docker namespace 原理讲解 |
知识点 | Docker 资源限制 cgroups | Docker cgroups 原理讲解 |
知识点 | 【实战】容器故障注入实战 | Docker 容器故障注入实战 |
知识点 | Docker 镜像分层设计 | Docker 镜像分层设计原理 |
知识点 | Docker 联合文件系统详解 | Docker 联合文件系统详解 |
知识点 | 【实战】Docker 镜像设计方法实战 | Docker 镜像设计方法实战 |
持续集成/持续交付/DevOps-L1¶
教学目标¶
- 掌握 Jenkins 与自动化测试结合的方案。
- 掌握 Jenkins 的安装、配置。
- 掌握 Jenkins 的 job 结构和构建。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 持续集成体系介绍 | 持续集成体系介绍与学习路线 |
知识点 | Jenkins 安装 | jenkins 平台的部署 |
知识点 | Jenkins Job 配置 | Job 的结构 |
知识点 | Jenkins 用户管理 | Jenkins 的用户的新增与用户的管理 |
知识点 | Jenkins 授权策略配置 | Jenkins 授权策略配置、权限矩阵 |
知识点 | Jenkins 安全配置管理 | 安全配置管理参数的详解 |
知识点 | 【实战】Jenkins 的 job 实操 | 定义你的第一个持续集成任务,job 结构的实操 |
持续集成/持续交付/DevOps-L2¶
教学目标¶
- 熟悉 Jenkins 常用配置,比如环境、节点、插件等。
- 熟悉 Jenkins 插件安装和使用。
- 熟悉 Jenkins 邮件告警。
- 掌握使用 Jenkins 实现自动化测试集成。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Jenkins 凭据管理 | 凭据信息的配置、用户名密码、Private key |
知识点 | Jenkins 环境变量 | 全局变量的配置 |
知识点 | Jenkins 节点配置 | 把机器加入 jenkins 的节点、linux 与 java 节点 |
知识点 | Jenkins 节点环境变量 | 节点的环境变量、全局变量关系 |
知识点 | Jenkins Job 指定节点运行 | Job 中指定节点运行设置 |
知识点 | Jenkins 参数化配置 | Jenkins参数化配置 |
知识点 | Jenkins 插件安装 | 安装插件的设置、常用的插件安装 |
知识点 | Jenkins SSH 插件 | SSH 插件的安装及使用 |
知识点 | Jenkins Git 版本管理 | git 插件的安装及使用 |
知识点 | Jenkins maven 插件配置 | maven 插件安装及使用 |
知识点 | Jenkins 邮件告警 | 邮件告警插件安装和使用(job 构建结果的提取与多种通知方式) |
知识点 | Jenkins 父子 Job | job 之间的分工与协作管理 |
知识点 | 【实战】持续集成实战-接口测试集成实战 | 接口测试的持续集成管理实战 |
知识点 | 【实战】持续集成实战-web 自动化测试集成实战 | web 自动化测试的持续集成实战 |
知识点 | 【实战】持续集成实战-app 自动化测试集成实战 | app 自动化测试的持续集成实战 |
持续集成/持续交付/DevOps-L3¶
教学目标¶
- 掌握 Jenkins 的 api 提取数据的能力。
- 掌握 Jenkins 与 Gitlab 结合实现推送代码后自动构建的能力。
- 掌握 Jenkins 与不同阶段测试的集成能力。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 【实战】jenkins api 接口 | 在已有的流程平台中调用 jenkins 并获取数据 |
知识点 | 基于 gitlab 的持续集成机制 | 通过gitlab hook 自动完成集成测试过程 |
知识点 | 【实战】静态扫描体系集成 | 使用 Jenkins 实现静态扫描体系持续集成 |
知识点 | 【实战】单元测试体系集成 | 使用 Jenkins 实现单元测试体系持续集成 |
知识点 | 【实战】代码覆盖率集成 | 使用 Jenkins 实现代码覆盖率持续集成 |
持续集成/持续交付/DevOps-L4¶
教学目标¶
- 掌握 Pipeline 常用语法与应用。
- 掌握 App 应用的自动发布的流水线构建方法。
- 掌握 Web 应用的自动部署的流水线构建方法。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | BlueOcean | 流程定义与流程可视化管理 |
知识点 | Pipeline 简介 | Pipeline 简介与第一个Pipeline任务 |
知识点 | Jenkinsfile 语法简介 | Jenkinsfile 语法简介 |
知识点 | JenkinsFile 语法参数 agent,stage, step | JenkinsFile 语法 agent、stages、stage、step参数详解 |
知识点 | JenkinsFile 语法参数 post | JenkinsFile 语法 post 参数详解 |
知识点 | JenkinsFile 语法参数 options | JenkinsFile 语法 options 参数详解 |
知识点 | JenkinsFile 语法参数 parameters | JenkinsFile 语法 parameters 参数详解 |
知识点 | JenkinsFile 语法参数 env_tools | JenkinsFile 语法 env_tools 参数详解 |
知识点 | JenkinsFile 语法参数 if-else | JenkinsFile 语法 if-else 参数详解 |
知识点 | JenkinsFile 语法参数 try-catch | JenkinsFile 语法 try-catch 参数详解 |
知识点 | JenkinsFile 语法参数 environment | JenkinsFile 语法 environment 参数详解 |
知识点 | JenkinsFile 语法参数 triggers | JenkinsFile 语法 triggers 参数详解 |
知识点 | Pipeline 总结 | Pipeline使用总结 |
持续集成/持续交付/DevOps 流水线构建-L4¶
教学目标¶
- 掌握 Pipeline 常用语法与应用。
- 掌握 App 应用的自动发布的流水线构建方法。
- 掌握 Web 应用的自动部署的流水线构建方法。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 发布管理 | 常用发布系统与发布管理方式 |
知识点 | 持续交付支撑工具 | blue ocean 与 pipeline |
知识点 | 【实战】app 持续交付 | 拉取代码、自动打包、自动部署 |
知识点 | 【实战】web service 持续交付实战 | 基于 pipeline 的持续交付项目实战 |
持续集成/持续交付/DevOps-L5¶
教学目标¶
- 了解质量门禁设计方案。
- 掌握持续部署的流程和实现。
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 质量门禁 | |
知识点 | 【实战】持续部署实战 | 自动部署、自动触发测试、自动生成报告并推送消息 |
k8s 容器编排¶
学习目标
- 掌握K8s安装与配置
- 掌握K8s的运行机制
- 掌握K8S的kubectl使用
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | K8S 容器技术介绍 | 容器编排体系介绍 |
知识点 | K8S 安装与配置 | K8S 环境安装 |
知识点 | kubectl 管理命令 | K8S 常用管理命令 |
知识点 | K8S dashboard 使用 | K8S dashboard 使用 |
知识点 | 使用 K8S 批量运行测试用例 | 使用 K8S 批量运行测试用例 |