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

上传人:jun****875 文档编号:7761336 上传时间:2020-03-24 格式:PPTX 页数:30 大小:1.52MB
返回 下载 相关 举报
《持续集成分享》PPT课件.pptx_第1页
第1页 / 共30页
《持续集成分享》PPT课件.pptx_第2页
第2页 / 共30页
《持续集成分享》PPT课件.pptx_第3页
第3页 / 共30页
点击查看更多>>
资源描述
持续集成分享 佳都数据 运维部 何建来 前言 随着软件开发复杂度的不断提高 团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题 尤其是近些年来 敏捷 Agile 在软件工程领域越来越红火 如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要 目录 DevOpsEssentials CI CD 持续集成工具介绍 2 如何持续集成 3 阶段计划 4 1 持续集成介绍 软件交付流程 传统开发人员工作回顾 每天的工作 编写代码 编译 运行单元测试 生成文档 打包和部署 工作内容多 而且琐碎 我们怎么才能把精力放在主要业务的实现和代码优化上呢 如果我们编写的模块对外部系统的有依赖 那么软件集成也是一个问题 而且随着团队的人员的变动 就会对团队协作 软件质量 项目进度的把控提出了更多的要求 项目过程的后期 系统集成测试发现BUG的返工较多 而且返工的工作量比前期发现BUG的返工工作量还大 项目上线时 心中总是忐忑不安 拜托千万不要出错 日常工作中遇到哪些问题 琐碎的事情 占用了大量的时间 传统站点部署流程 传统站点部署问题 上哪个版本 版本没错吧 XX请假了 怎么上线 手抖了 怕出线上问题啊 哪些库文件要改 DEV BUSINESS OPS 定义 持续集成是一种软件开发实践 即团队开发成员经常集成它们的工作 通常每个成员每天至少集成一次 也就意味着每天可能会发生多次集成 每次集成都通过自动化的构建 包括编译 发布 自动化测试 来验证 从而尽早地发现集成错误 持续集成要求开发人员频繁地提交他们的所完成的工作产品 这个频率通常是至少每天一次 有时候可以多次 每次集成会通过自动化构建 automatedbuild 的方式进行尽量快速地验证 以确保新提交的变化不会造成新的问题 如果在集成的过程中出现异常 则应当快速的反馈给相关的人员 构建是将源代码放在一起 并验证软件可以作为一个一致的单元运行的过程 验证活动一般包括编译 测试 审查和部署 意义 持续集成中的任何一个环节都是自动完成的 无需太多的人工干预 有利于减少重复过程以节省时间 费用和工作量 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的 换言之 任何时间点都能第一时间发现软件的集成问题 使任意时间发布可部署的软件成为了可能 持续集成还能利于软件本身的发展趋势 这点在需求不明确或是频繁性变更的情景中尤其重要 持续集成的质量能帮助团队进行有效决策 同时建立团队对开发产品的信心 要素 1 统一的代码库2 自动构建3 自动测试4 每个人每天要向代码库主干提交代码5 每次代码递交后都会在持续集成服务器上触发一次构建6 保证快速构建7 模拟生产环境的自动测试8 每个人都可以很容易的获取最新可执行的应用程序9 每个人都清楚正在发生的状况10 自动化的部署 Jenkins 之前叫做Hudson 是基于Java开发的一种持续集成工具 用于监控秩序重复的工作 包括 1 持续的软件版本发布 测试项目 2 监控外部调用执行的工作 Jenkins本身并没有自动构建的功能 Jenkins只是将JDK Maven等工具集成起来 将持续集成的整个过程可视化 什么是Jenkins 编译工具 Make工具Linux或者Windows最原始的编译工具 在linux下编译程序常用make Windows下对应的工具为nmake 它负责组织构建的过程 负责指挥编译器如何编译 连接器如何连接 最后生成一个可用的文件 2 Ant工具Make编译一些比较复杂的工具使用起来不灵活 语法很难理解 延伸出ant工具 3 Maven工具 Maven Maven是一个项目管理工具 它包含了一个项目对象模型 ProjectObjectModel 一组标准集合 一个项目生命周期 ProjectLifecycle 一个依赖管理系统 DependencyManangementSystem 和用来运行定义在生命周期阶段中插件目标的逻辑 Maven是面向技术层面 针对Java开发项目管理工具 它提供了构建工具所提供功能的超集 除了构建功能之外 Maven还可以管理项目结构 管理依赖关系 生成报告 生成Web站点 有助于团队成员之间的交流与协作 可以理解为项目构建工具 对象模型POM Maven项目对象模型POM ProjectObjectModel 可以通过一小段描述信息来管理项目的构建 报告和文档的软件项目管理软件 Maven除了以程序构建能力为特色之外 还提供高级项目管理工具 POM是Maven项目中的文件 使用XML表示 名称叫做pom xml 在Maven中 当谈到Project的时候 不仅仅是一堆包含代码的文件 一个Project往往包含一个配置文件 包括了与开发者有关的 缺陷跟踪系统 组织与许可 项目的URL 项目依赖 以及其他 它包含了所有与这个项目相关的东西 事实上 在Maven世界中 project可以什么都没有 甚至没有代码 但是必须包含pom xml文件 Pom xml文件 groupId 组织标识 通常是独一无二的 例如 一家银行银行集团拥有所有银行相关项目artifactId 项目名称 version 版本号 例如 1 0 packaging 打包的格式 可以为 pom jar war ear rar par Maven的价值 指导开发 提供了Java项目的最佳开发实践 自由开发项目骨架而可自动生成项目结构自动编译 不仅仅只像Ant自动编译 还包括测试 打包 发布 文档生成 项目站点生成 依赖管理 Maven可以方便地管理应用程序依赖 例如第三方依赖 模型依赖无限扩展 插件模式可以无限增强Maven功能 例如通过Tomcat Jetty插件可以自由控制其服务器持续集成 鼓励开发者积极提交代码 更早地发现程序错误 在并行开发中稳妥推进开发协作 更简单和谐的团队协作 持续集成系统的组成 一个完整的构建系统必须包括 一个自动构建过程 包括自动编译 分发 部署和测试等 一个代码存储库 即需要版本控制软件来保障代码的可维护性 同时作为构建过程的素材库 一个持续集成服务器 本文中介绍的Jenkins就是一个配置简单和使用方便的持续集成服务器 持续集成流程 持续集成详细流程 成果展示 成熟度模型 第一阶段 核心实践和试点第二阶段 持续集成和测试第三阶段 持续部署和交付第四阶段 持续运维第五阶段 持续评估改进 阶段实施 指标金字塔 ThankYou
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!