求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
英特尔 SCRUM-敏捷开
东方证券 基于看板的敏捷方法
亚信 工作量估算
法国电信 基于iproces
赛孚耐 基于Scrum的敏
英国帕吉 基于MyProce
中海油 软件开发过程

相关课程  
统一过程及应用
敏捷过程实践
基于XP/RUP的迭代开发
软件开发过程指南
SCRUM过程实践
敏捷测试-简单而可行
 

持续集成原理和实施       
   
主讲嘉宾:张老师,阿里巴巴研发协同技术专家
时间地点:北京、上海、深圳根据报名开班
培训费用:5800元/人 (学生3折),详见 公开课学习手册
企业内训:可以根据企业需求,定制内训,详见 内训学习手册
 
通过原理和实验的互相结合的方式, 让学员不光对理论知识深入理解, 也可以了解实施过程中遇到的各种问题。
从零开始, 一步一步已解决问题为导向, 最终在课程结束时,构建出一套完备的持续集成流水线, 模拟实施中遇到的各种问题, 逐一解决。
提供公司成功和失败的持续集成案例, 分析案例中可以借鉴的地方, 和需要避免的问题
 
培训目标:
  • 让学员可以理解持续集成的理念
  • 让学员可以搭建持续集成的流水线, 以及流水线所需要的基础设施 (包管理系统, 部署系统等)
  • 让学员了解如何在一个公司中实施持续集成, 以及会遇到的问题
  • 让学员了解如何衡量持续集成的好坏和效果
培训对象:程序员, 测试人员, 运维, 架构师, 以及对持续集成感兴趣的人
学员基础:熟悉简单的Linux命令
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容: 2天
持续集成概念
  • 对比传统的开发模式和持续集成
  • 持续集成的优良实践
1、对比传统开发模型和持续集成
  传统模型的问题
  如何用持续集成破解这些问题
2、持续集成的优良实践
  具体解释一些重要事件,解释为什么这么做
持续集成流水线设计以及持续集成server的搭建
  • 流水线设计
  • 持续集成工具选择
  • 通知机制
1,流水线的设计
有哪些必要的流水线组件
如何针对一个系统连接这些组件 (trigger关系, trigger方式, 传递结果)
2,持续集成工具的选择
Jenkins, Go, Bamboo, Travis, home-made, etc.
3,通知机制
合理选择通知人员
email, IM通知
大屏通知
Nabaztag兔子通知
分支策略和代码管理工具
  • 分支策略
  • 代码管理工具
  • 如何提交代码
1,分支策略
SVN和Git的分支策略
2,代码管理工具
如何和持续集成工具集成
3,如何提交代码
在绿灯时提交代码
尽可能频繁提交
本地做好验证再提交
Bug tracking System集成
代码级别质量控制
  • 单元测试
  • 覆盖率
  • 静态代码扫描
  • 圈复杂度
1,单元测试
单元测试的重要性
单元测试要快
单元测试成功率必须100%
2,覆盖率
什么事覆盖率
覆盖率要做到多少
哪类代码不需要覆盖率
3,静态代码扫描
原理和静态代码扫描的工具介绍
4,圈复杂度
圈复杂度的计算方法
打包以及依赖管理
  • 构建物版本以及构建物的状态
  • 构建物存储系统
  • 构建物依赖的管理
1,包的版本以及包状态
版本需要有意义 (revision, 时间戳等)
给经过不同测试的包打状态
只做一次打包动作
2, 构建物存储系统
如何搭建一套构建物存储系统
3, 构建物依赖管理
构建工具, 例如mavem
操作系统本身
手动管理
Docker Image管理
部署管理
  • 开发环境
  • 测试环境和线上环境
1, 开发环境
开发环境和测试环境的区别
构建工具Puppet
2, 测试环境和线上环境
部署 约等于 部署包+配置
不同的环境部署方式要一致
Chef介绍
持续集成度量
  • 发现被测代码的问题
  • 发现持续集成本身的问题
  • 衡量持续集成的成效
1, 发现被测代码的问题
任务成功率, 代码覆盖率, 静态代码扫描, 圈复杂度, 运行时间, 测试用例成功率
2, 发现持续集成本身的问题
任务时长, 任务跳跃, 系统监控
3, 衡量持续集成的成效
开始阶段会降低效率
代码质量提升 (记录在bug系统中的bug数量)
研发周期的缩短 (对比使用前后)
发布周期的确定性 (问题可见, 项目更加可预期)
Docker 和 持续集成
  • Docker 简介
  • Docker在持续集成中的应用
1, Docker介绍
Docker原理和简单命令
2, Docker在持续集成中的应用
Docker承担持续集成server的角色
使用Docker Image持续集成
持续集成实施
  • 程序员和测试本身的提升
  • 代码遗留问题的解决
  • 基础设施改进
  • 小步前进, 阶段性成效
  • 明星项目分享, 说服老板
1, 程序员和测试本身的提升
工作习惯会被改变
需要学习更多知识 (单元测试, 编译工具, 持续集成等)
2, 代码遗留问题
大范围重构
紧箍咒法则
3, 基础设施改进
代码仓库, 包仓库, 部署工具等
4, 小步前进, 阶段性成效
5, 明星项目分享, 说服老板
成功和失败案例
案例解读
 
其他人还看了课程
企业战略与变革管理  
软件架构设计方法  
红帽认证  
数据分析与挖掘  
定制内训




最新活动计划
MBSE(基于模型的系统工程)4-18[北京]
自然语言处理(NLP) 4-25[北京]
基于 UML 和EA进行分析设计 4-29[北京]
以用户为中心的软件界面设计 5-16[北京]
DoDAF规范、模型与实例 5-23[北京]
信息架构建模(基于UML+EA)5-29[北京]