美文网首页敏捷项目管理
敏捷分享专题-持续交付

敏捷分享专题-持续交付

作者: 何淑贞 | 来源:发表于2019-03-19 16:53 被阅读0次

前言

hello~~各位~~先做个专题小介绍:我们一伙6人是深圳某公司的项目管理小组,从去年开始我们就有了个定期分享的机制。为了能促进分享,共同进步,所以我们要把平时的分享内容也转到简书。话不多数,开始正文。

自去年中旬开始,项目管理小团队逐步开始组织级别的敏捷转型,即从原本的立项型项目管理模式过渡到目前的多敏捷小组的阶段。由于目前敏捷小组管理范围以需求-测试阶段为主,一般测试完成后进入投产阶段成了个“黑盒子”,我们一般只能了解投产的结果而对其中的过程不甚了解。所以这个分享是站在项目组的角度,厘清概念,了解业界在做的一些实践操作。

热身练习

来吧! 开始我们的小练习,请按以下流程发生的先后顺序进行排序。参考答案放在全文的最后。。一行。

建分支顺序 合并分支顺序

人人都谈CI/CD

人人都谈CI/CD,那为什么互联网公司要持续往这里投入力量呢?下面从四个角度来分析一下:

1. 基础建设能力是一个公司能走多远的一个决定性因素。下图是从网络获取的一幅图画,企业在年初制定的美好计划在具体实施的时候就要看基础建设是否能长期有效的支撑这个目标的达成,这也是为什么持续交付是一件很“技术”的工作。在敏捷实践中,基础运维甚至不作为一个主要角色提出。但在实际的项目落地过程中,我们发现这一环不可或缺。

为什么要持续交付1

2. 从批量交付进化为持续交付:当前提高生产效率的方法还是简单的批量交付,即打包、部署的流程以需求为单位,批量进行部署。理想情况下是建立交付流水线,完成代码-部署的流程自动化,而非每个环节都等待人工手动处理。

持续交付

3. 技术中心的组织框架不再各自为政,围绕持续交付的两个核心让各个职位合作交付。目前有很多成熟的持续交付软件可以实现以上需求:版本管理Gitlab,集成部署Jenkins,阿里云效等。

为什么要持续交付2

4. 技术开发过程中的四个部署环境在这里说明一下,因为开发过程中经常提及却没有清晰分明。开发环境即开发自己的本地环境,用于联调;集成环境即集成服务器进行打包、单元测试后部署;验证环境是集成成功后即自动部署到验证环境供QA和PO进行验收;生产环境即应用最后开放给用户的操作环境。

持续交付的4个环境

持续交付的理念

本章将从框架性来探讨持续交付涵盖的4个流程:持续集成、持续交付、持续部署、持续发布。

持续交付总览

版本管理是对源代码、SQL脚本、配置项等进行版本的持续集成,分支类型如下四种:Master主干、Dev开发主干、Feature特征分支以及release分支。Master分支是整个项目的主心骨,从项目开始一直延续至项目结束,属于protected分支。当需要开始开发任务时,开发负责人从Master分支拉出Dev分支作为本次开发的管理分支。各开发即可从Dev分支中,根据自己的开发任务拉取特征分支。

版本管理

自动化构建中是经由CI服务器完成整个构建流程。该流程具体为:版本控制服务器自动检测到代码变化并进入构建流程,经过单元测试检查并进行构建打包,打包后部署在集成环境交付到QA部门进行测试验收。过程中任何一步有问题都会退出流程并向开发负责人、开发本人、项目管理以及其他同事自动发送通知。

自动化部署 自动化构建

接下来会说明两个“CD”流程,一个是持续交付,一个是持续发布。持续交付即在完成自动集成后交付给QA团队进行测试管理并尽快完成测试后部署到生产环境的流程,而持续发布即远远不断向真实用户发布新功能/修复缺陷的过程。

持续交付

持续部署中关注以下四点:

1.脚本代替手工,如编写脚本完成一些需要手工执行、手工配置的部分;

2.使用容器进行部署,如Docker的容器化服务可使服务独立部署,提高部署、回退的灵活度;

3.构建自动化流水线可将各流程节点及相关角色通过流水线串联在一块儿以提高部署的效率;

4. 建立持续部署的架构可促使微服务的高效落地,使得服务的投产可以随时进行;

持续部署 构建流水线 持续发布

page1 :顺序 1 - 3 - 2

page2 : 顺序 3 - 2 - 1

相关文章

  • 敏捷分享专题-持续交付

    前言 hello~~各位~~先做个专题小介绍:我们一伙6人是深圳某公司的项目管理小组,从去年开始我们就有了个定期分...

  • 敏捷交付中的自动化测试

    提到敏捷交付,我们总会说到持续集成,持续交付,持续发布,即频繁地交付产品特性。而我们都知道要实现真正的持续交付,必...

  • 谈谈敏捷交付中的自动化测试

    提到敏捷交付,我们总会说到持续集成,持续交付,持续发布,即频繁地交付产品特性。而我们都知道要实现真正的持续交付,必...

  • 研发效能定义及核心本质

    本文主要澄清了敏捷开发、持续集成、持续交付1.0、持续交付2.0 、持续部署、DevOps、研发效能七个概念,以便...

  • 《敏捷开发》

    敏捷实践 敏捷方式的核心思想在于迅速交付商业价值,体现为可工作的软件,还要以定期增量的形式持续地交付价值。 敏捷价...

  • 为什么要持续集成与持续部署

    DevOps、持续集成、持续交付、持续部署、敏捷等词语大家应该都耳熟能详了,说到底就是快速交付价值,从工程上、管理...

  • 如何组织好一场PI planning会议

    现在越来越多的公司开始引入敏捷化的项目管理流程,目的是快速响应市场变化,持续改进、持续集成和持续交付。在敏捷开发当...

  • 6.2、 产品经理甩锅指南-CI环境

    上次在这里提到了敏捷开发scrum,6、产品经理和包工头的故事,敏捷开发背景下,还有CI(持续集成)环境,持续交付...

  • XP(八)XP与Scrum的异同

    相同的地方 都属于敏捷开发 都追求短周期交付,持续交付 都注重交付产品的质量 都注重反馈 都使用迭代的方式进行开发...

  • 持续交付2.0 读书笔记(持续更新中...)

    一、持续交付2.0 1.1软件工程发展: 瀑布开发 -> 敏捷开发 相比瀑布的线性模型,只有在项目交付后期才能看到...

网友评论

    本文标题:敏捷分享专题-持续交付

    本文链接:https://www.haomeiwen.com/subject/doxsmqtx.html