Anzeige
Anzeige

Más contenido relacionado

Anzeige

Último(20)

Anzeige

99cloud openstack ci

  1. 持续集成 梁博 liangbo@trystack.cn
  2. COURSE INTRODUCTION DAY 01 • 持续集成概述 • 持续集成实现 • 持续集成案例 • Gerrit 介绍 • Jenkins介绍 DAY 02 • 持续集成流程 • 使用持续集成环 境 • Lab
  3. 梁博 在云计算领域有8年以上的项⺫⽬目经验,Python, Golang资深开发⼈人员,熟悉 包括OpenStack、Docker在内的云计算相关产品的架构, 具有在中⼤大型 集成项⺫⽬目容器、虚拟化和⺴⽹网络虚拟化相关架构设计和项⺫⽬目实施经验,曾负责 设计实施过国内⾸首个基于OpenStack的公有云平台和Docker的集成,并在 OpenStack⾹香港峰会、Docker Meetup上做过专题报告,有丰富的培训和 咨询服务经验。 liangbo@trystack.cn http://github.com/onetown http://liangbo.me Infrastructure 90% Storage, Network, Virtualization ,Container 40% Front-end, HTML, CSS, Javascript 60% Python, C Sharp, Go-lang Development 90%Liang Bo (TRYSTACK.CN架构师)
  4. CI介绍
  5. 课程介绍 • 传统的开发方式 • 持续集成的意义 • 课程范围
  6. 开发模型 • Waterfall  瀑布
  7. 开发模型 • Scrum  
  8. Scrum  Roles • Scrum  Master • Product  Owner • Team
  9. 持续集成
  10. 为什么 CI • 快速反馈 • 减少项目风险 • 每个人都是项目的Owner • 持续开发 • 将一些重复的事情交给机器去做
  11. CI最佳实践 • 单一代码仓库 • 经常提交 (Commit  Often) • 让你的Build可以自动化测试 • 自动构建 • 快速构建
  12. 持续集成的实现
  13. Developer:  提交
  14. Developer:  Review
  15. Review
  16. Demo  1 • Simple  Project • Add  Issue • Add  Tests • Commit  code • Review • Submit
  17. 持续集成案例 OpenStack  Development  
  18. OpenStack  -­‐ Gerrit
  19. Review  with  Jenkins  Gate
  20. OpenStack  CI  Practice • Launchpad • Git • Gerrit • Zuul • Jenkins
  21. Workflow
  22. Jenkins  介绍
  23. 什么是Jenkins • Open  Source  CI-­‐Server • 配置简单 • 可扩展 • 300+插件 • 全球20,000多个部署
  24. 为什么使用Jenkins • 图形化界面管理 • 活跃的社区和生态系统 • 分布式构建 • 开源并且免费!!
  25. 谁在使用Jenkins
  26. 快速增长的Jenkins
  27. 人才需求
  28. 基本功能 • Notice  Change • 自动Check  out  代码 • 执行构建或测试 • 纪录并发布执行结果 • 通知开发人员或者测试人员
  29. CI  Overview
  30. Notice  a  Change • 定期构建 • 依赖关系 • 关联代码版本控制工具 • Push  &  Pull
  31. Check  out代码 • SVN • CVS • Git • Mercurial
  32. 执行构建和测试 • Java • Ant • Maven • Gradle • .NET • MSBuild • PowerShell • Scripts • Python   • Ruby • PHP
  33. 纪录并发布执行结果 • JUnit • TestNG • FindBugs • CheckStyle
  34. 通知 • Twitter • Email • RSS • IM • IDE
  35. Zuul介绍
  36. 什么是Zuul
  37. Gating
  38. Trigger • 当事件发生时出发某一任务 • Timer  定时出发 • 可以基于内部事件生成新的任务
  39. Merger • 将Change合并到主分支
  40. Gerrit介绍
  41. 什么是Gerrit • 源自Android的项目管理 • 基于SSH • 通过Hook的方式关联ID
  42. 为什么使用Gerrit • 设定开发流程 • 强制审核 • 使用开发者分支
  43. 开发实践
  44. Questions?
Anzeige