• 2.31 MB
  • 22页

持续交付解决方案

  • 22页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
持续交付教育研发中心2015-05-12 目录持续交付简介工作计划讨论 什么是持续交付?什么是持续交付?持续交付是在用户与项目团队(包括客户或者ProductOwner)之间建立紧密的反馈环,即:通过持续交付新的软件版本,验证新的想法和软件的改动,并能衡量这些改动对收入的影响。持续交付(ContinuousDelivery)是一系列的开发实践方法,用来确保让代码能够快速、安全的部署到产品环境中。它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期。因为使用完全的自动化过程来把每个变更自动的提交到测试环境中,所以当业务开发完成时,你有信心只需要按一次按钮就能将应用安全的部署到产品环境中。持续交付的好处:业务收益:1、它让你能更快地验证新业务方案的结果,并根据真实的用户反馈进行调整。2、大幅降低交付风险、交付成本。IT管理的好处:1、项目经理们能看到项目的真实进度,通过规律性增量发布,大大减少了每次发布的风险。Months to weeks todays 什么是持续交付?你是不是真的在持续交付?(以终为始)你的软件是不是一直处于产品可发布状态。你只要按个回车键就可以把它发布给用户。如果你的发布过程很痛苦,而且不太频繁,并且在发布之前还有一个充满风险的集成阶段,那么你就没有在做持续交付。持续交付中最重要的度量是周期时间(cycletime)从决定实现某个想法开始,到将其发布给用户为止这段时间长度。Months to weeks todays 持续交付的发展 产品交付生命周期模型 传统交付过程的反馈环 持续交付模型的反馈环 持续交付模型 持续交付成熟度模型图(V1.2) 业界持续交付现状和目标 持续交付-7个最佳实践(IBM)实践1:建立单一的部署来源实践2:让令人痛苦的手工步骤自动化起来实践3:管理应用内部的相互依赖关系实践4:让部署过程的“什么。。在哪里。。”清晰可见实践5:让部署环节的准入条件和批准情况清晰可见实践6:在不同的环境中保持部署的一致性实践7:发布计划简单明了 持续交付-演示DEMO 目录持续交付简介工作计划讨论 每月都有那么几次!!版本上线已经成为项目组的心魔上哪个版本,版本没错吧?XX请假了,怎么上线?手抖了……怕出线上问题啊…哪些库文件要改…为什么要搞持续交付 定制组现状及目标分析 持续交付三条主线(步骤)从Code到Artifact仓库:没有统一的Artifacts仓库从Artifacts到Runningservice:不同环境的部署方法不一样从开发测试环境到准生产、生产环境:开发、QA和运维采用传统协作方式 持续交付-基础架构从Code到Artifact仓库:1.1版本控制服务SVN/GIT1.2持续集成服务JenKins/Go1.3AritFacts仓库Artifactory/Nexus(Java)+Yum(c++)/Docker从Artifacts到Runningservice2.1环境创建Kickstart/Cobbler/VirtualMachine/IAAS???2.2服务自动化+2.3代码部署Ansible/Puppet/Saltstack/Chef2.4服务监控/ELK/Flume/Zabbix/Nagios/Cacti2.5自动化测试工具Selenium/CuCumber?? 持续交付-组织架构从开发测试环境到准生产、生产环境 近期工作目标-待讨论持续集成(三级已定义级)1.每次提交都会触发构建和各类测试。2.公共工具集中的脚本或工件得到重用。环境与部署(三级已定义级)1.开发和测试环境是全面自动化且自服务的。2.已具备“点击按钮即可向任意环境进行部署”的能力。3.为了完成自己的工作,每个人都有相应权限访问并操作相应的环境。测试(三级已定义级)1.一旦需要,就将新的测试添加到测试套件里。2.非功能测试被加到自动化测试套件中。3.手工测试主要关注于探索性测试。数据管理(三级已定义级)1.数据库变更作为部署流程的一部分自动执行。一个月试点定制项目三个月云平台定制项目六个月云平台产品项目目标内容目标范围 持续交付团队的位置及成员角色-待讨论持续交付团队的定位持续交付方法的提供者和传播者。持续交付服务提供者。持续交付团队的成员持续交付工程师-自动化部署方向1名2年以上相关工作经验负责自动化部署、监控和自动化配置管理的设计与建设,完成自动化脚本的设计与编写。持续交付工程师-自动化测试方向1名2年以上相关工作经验负责自动化测试系统的设计与建设,完成自动化测试用例与脚本的设计与编写,有丰富的自动测试经验持续交付工程师-自动化构建方向1名2年以上相关工作经验负责自动化构建、自动化发布的设计与建设,完成自动化脚本的设计与编写。 工作计划讨论