《持续集成分享》PPT课件.ppt

上传人:牧羊曲112 文档编号:5515946 上传时间:2023-07-15 格式:PPT 页数:30 大小:1.54MB
返回 下载 相关 举报
《持续集成分享》PPT课件.ppt_第1页
第1页 / 共30页
《持续集成分享》PPT课件.ppt_第2页
第2页 / 共30页
《持续集成分享》PPT课件.ppt_第3页
第3页 / 共30页
《持续集成分享》PPT课件.ppt_第4页
第4页 / 共30页
《持续集成分享》PPT课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《《持续集成分享》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《持续集成分享》PPT课件.ppt(30页珍藏版)》请在三一办公上搜索。

1、,持续集成分享,佳都数据/运维部/何建来,前 言,随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。,目录,DevOps Essentials,CI/CD,持续集成工具介绍,2,如何持续集成,3,阶段计划,4,1,持续集成介绍,软件交付流程,传统开发人员工作回顾,每天的工作:编写代码、编译、运行单元测试、生成文档、打包和部署。工作内容多,而且琐碎。我们怎么才能把精力放在主要业务的实现和代码优化上呢?如

2、果我们编写的模块对外部系统的有依赖,那么软件集成也是一个问题,而且随着团队的人员的变动,就会对团队协作、软件质量、项目进度的把控提出了更多的要求。项目过程的后期,系统集成测试发现BUG的返工较多,而且返工的工作量比前期发现BUG的返工工作量还大。项目上线时,心中总是忐忑不安,拜托千万不要出错。,日常工作中遇到哪些问题?琐碎的事情,占用了大量的时间?,传统站点部署流程,传统站点部署问题,上哪个版本,版本没错吧?XX请假了,怎么上线?手抖了怕出线上问题啊哪些库文件要改,DEV,BUSINESS,OPS,定义,持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次

3、,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。持续集成要求开发人员频繁地提交他们的所完成的工作产品,这个频率通常是至少每天一次,有时候可以多次。每次集成会通过自动化构建(automated build)的方式进行尽量快速地验证,以确保新提交的变化不会造成新的问题。如果在集成的过程中出现异常,则应当快速的反馈给相关的人员。构建是将源代码放在一起,并验证软件可以作为一个一致的单元运行的过程;验证活动一般包括编译、测试、审查和部署。,意义,持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省

4、时间、费用和工作量;持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。,要素,1.统一的代码库2.自动构建 3.自动测试 4.每个人每天要向代码库主干提交代码 5.每次代码递交后都会在持续集成服务器上触发一次构建 6.保证快速构建 7.模拟生产环境的自动测试 8.每个人都可以很容易的获取最新可执行的应用程序 9.每个人都清楚正在发生的状况 10.自

5、动化的部署,Jenkins,之前叫做Hudson,是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。Jenkins本身并没有自动构建的功能,Jenkins只是将JDK、Maven等工具集成起来,将持续集成的整个过程可视化。,什么是Jenkins,编译工具,Make工具Linux或者Windows最原始的编译工具,在linux下编译程序常用make(Windows下对应的工具为nmake)。它负责组织构建的过程,负责指挥编译器如何编译,连接器如何连接,最后生成一个可用的文件。2.Ant工具Make编译一些比较复杂的工

6、具使用起来不灵活,语法很难理解,延伸出ant工具。3.Maven工具,Maven,Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Manangement System),和用来运行定义在生命周期阶段中插件目标的逻辑。Maven是面向技术层面,针对Java开发项目管理工具,它提供了构建工具所提供功能的超集,除了构建功能之外,Maven还可以管理项目结构、管理依赖关系、生成报告、生成Web站点、有助于团队成员之间的交流与协作。可以理解为项

7、目构建工具。,对象模型POM,Maven项目对象模型POM(Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理软件。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。POM是Maven项目中的文件,使用XML表示,名称叫做pom.xml。在Maven中,当谈到Project的时候,不仅仅是一堆包含代码的文件。一个Project往往包含一个配置文件,包括了与开发者有关的,缺陷跟踪系统,组织与许可,项目的URL,项目依赖,以及其他。它包含了所有与这个项目相关的东西。事实上,在Maven世界中,project可以什么都没有,甚

8、至没有代码,但是必须包含pom.xml文件。,Pom.xml文件,groupId:组织标识,通常是独一无二的。例如,一家银行银行集团拥有所有银行相关项目artifactId:项目名称,version:版本号,例如:1.0,packaging:打包的格式,可以为:pom,jar,war,ear,rar,par,Maven的价值,指导开发:提供了Java项目的最佳开发实践,自由开发项目骨架而可自动生成项目结构自动编译:不仅仅只像Ant自动编译,还包括测试,打包,发布,文档生成,项目站点生成依赖管理:Maven可以方便地管理应用程序依赖,例如第三方依赖、模型依赖无限扩展:插件模式可以无限增强Mave

9、n功能,例如通过Tomcat、Jetty插件可以自由控制其服务器持续集成:鼓励开发者积极提交代码,更早地发现程序错误,在并行开发中稳妥推进开发协作:更简单和谐的团队协作,持续集成系统的组成,一个完整的构建系统必须包括:一个自动构建过程,包括自动编译、分发、部署和测试等。一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。一个持续集成服务器。本文中介绍的 Jenkins 就是一个配置简单和使用方便的持续集成服务器。,持续集成流程,持续集成详细流程,成果展示,成熟度模型,第一阶段:核心实践和试点第二阶段:持续集成和测试第三阶段:持续部署和交付第四阶段:持续运维第五阶段:持续评估改进,阶段实施,指标金字塔,Thank You,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号