Docker + Bamboo + Saltstack持续集成**实践视频课程

敏捷开发介绍持续集成与高效自动化代码发布和部署解放运维,不再深夜加班等上线如何实现无需运维参与的自动化上线?Git + Docker + Bamboo + SaltStack **搭配实践实际企业案例演示。

18841人学习

中级1课时2016/02/25更新

二维码下载学堂APP缓存视频离线看

Alex(李杰)
    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
Linux运维学习专题[红帽Linux企业版]
红帽Linux企业版6.4系统管理视频课程
135060人学习
¥399.00
计算机网络原理精讲视频课程
939149人学习
¥119.00
Linux网络服务器实战视频课程Redhat 6.4
60025人学习
¥399.00
更 多 7 门 课 程
标杆徐LinuxSre专题课程《运维实战项目训练营》
Kubernetes/k8s 入门与进阶实践(46讲)
397633人学习
¥799.00
Kubernetes/K8S基于ELKStack日志采集与分析实践
25620人学习
¥299.00
标杆徐LinuxSre运维系列① :CentOS7系统入门与进阶实践(30讲)
152645人学习
¥99.00
更 多 19 门 课 程
杨哥Linux云计算架构师视频教程【初级—中级篇】
杨哥Linux云计算系列②: CentOS7零基础入门学习 (完整版)
979572人学习
¥21.00
杨哥Linux云计算系列③: Shell脚本自动化编程实战(完整版)
243363人学习
¥199.00
杨哥Linux云计算系列④:MySQL DBA 运维实战视频教程
67651人学习
¥199.00
更 多 7 门 课 程
杨哥Linux云计算系列—Linux云计算架构师课程(上篇)
杨哥Linux云计算系列②: CentOS7零基础入门学习 (完整版)
979572人学习
¥21.00
杨哥Linux云计算系列③: Shell脚本自动化编程实战(完整版)
243363人学习
¥199.00
杨哥Linux云计算系列④:MySQL DBA 运维实战视频教程
67651人学习
¥199.00
更 多 4 门 课 程
杨哥Linux云计算系列—Linux云计算架构师课程(上篇)
杨哥Linux云计算系列②: CentOS7零基础入门学习 (完整版)
979572人学习
¥21.00
杨哥Linux云计算系列③: Shell脚本自动化编程实战(完整版)
243363人学习
¥199.00
杨哥Linux云计算系列④:MySQL DBA 运维实战视频教程
67651人学习
¥199.00
更 多 4 门 课 程
  • 课程介绍
  • 课程大纲

适合人群:

有一定运维基础和经验的人。

你将会学到:

敏捷开发介绍持续集成与高效自动化代码发布和部署解放运维,不再深夜加班等上线如何实现无需运维参与的自动化上线?Git + Docker + Bamboo + SaltStack **搭配实践实际企业案例演示。

课程简介:

什么是敏捷开发?


敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。


敏捷开发特点

Test-Driving Development - 测试驱动开发


它是敏捷开发的最重要的部分。在ThoughtWorks,我们实现任何一个功能都是从测试开始,首先对业务需求进行分析,分解为一个一个的Story,记录在Story Card上。然后两个人同时坐在电脑前面,一个人依照Story,从业务需求的角度来编写测试代码,另一个人看着他并且进行思考,如果有不同的意见就会提出来进行讨论,直到达成共识,这样写出来的测试代码就真实反映了业务功能需求。接着由另一个人控制键盘,编写该测试代码的实现。如果没有测试代码,就不能编写功能的实现代码。先写测试代码,能够让开发人员明确目标,就是让测试通过。


Continuous Integration - 持续集成


在以往的软件开发过程中,集成是一件很痛苦的事情,通常很长时间才会做一次集成,这样的话,会引发很多问题,比如build未通过或者单元测试失败。敏捷开发中提倡持续集成,一天之内集成十几次甚至几十次,如此频繁的集成能尽量减少冲突,由于集成很频繁,每一次集成的改变也很少,即使集成失败也容易定位错误。一次集成要做哪些事情呢?它至少包括:获得所有源代码、编译源代码、运行所有测试,包括单元测试、功能测试等;确认编译和测试是否通过,最后发送报告。当然也会做一些其它的任务,比如说代码分析、测试覆盖率分析等等。在我们公司里,开发人员的桌上有一个火山灯用来标志集成的状态,如果是黄灯,表示正在集成;如果是绿灯,表示上一次集成通过,开发人员在这时候获得的代码是可用而可靠的;如果显示为红灯,就要小心了,上一次集成未通过,需要尽快定位失败原因从而让灯变绿。在持续集成上,DevOps的角色非常重要


Pair-Programming-结对编程


在敏捷开发中,做任何事情都是Pair的,包括分析、写测试、写实现代码或者重构。Pair做事有很多好处,两个人在一起探讨很容易产生思想的火花,也不容易走上偏路。在我们公司,还有很多事都是Pair来做,比如Pair学习,Pair翻译,PairPPT,关于这个话题,钱钱同学有一篇很有名的文章对它进行介绍,名为Pair Programming (结对编程)


ScrumMeeting-站立会议


每天早上,项目组的所有成员都会站立进行一次会议,由于是站立的,所以时间不会很长,一般来说是10-15分钟。会议的内容并不是需求分析、任务分配等,而是每个人都回答三个问题:

1.你昨天做了什么?

2.你今天要做什么? 

3.你遇到了哪些困难?


站立会议让团队进行交流,彼此相互熟悉工作内容,如果有人曾经遇到过和你类似的问题,那么在站立会议后,他就会和你进行讨论。


Frequent Releases-小版本发布


在敏捷开发中,不会出现这种情况,拿到需求以后就闭门造车,直到最后才将产品交付给客户,而是尽量多的产品发布,一般以周、月为单位。这样,客户每隔一段时间就会拿到发布的产品进行试用,而我们可以从客户那得到更多的反馈来改进产品。正因为发布频繁,每一个版本新增的功能简单,不需要复杂的设计,这样文档和设计就在很大程度上简化了。又因为简单设计,没有复杂的架构,所以客户有新的需求或者需求进行变动,也能很快的适应。

Collaborative Focus–以合作为中心


在敏捷开发中,代码是归团队所有而不是哪些模块的代码属于哪些人,每个人都有权利获得系统任何一部分的代码然后修改它,如果有人看到某些代码不爽的话,那他能够对这部分代码重构而不需要征求代码作者的同意,很可能也不知道是谁写的这部分代码。这样每个人都能熟悉系统的代码,即使团队的人员变动,也没有风险。


敏捷开发好处


使产品能更快速推向市场

开发进度可视、成本可控

风险控制,通过快速迭代使产品更能接近用户的期待

团队参与度更高


如何实现持续集成?


请看视频解读!

python.jpg


展开更多

课程大纲-Docker + Bamboo + Saltstack持续集成**实践视频课程

在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部