你好,欢迎使用 CODING!这份最佳实践将帮助你经过 CODING 研发管理系统来更好地实践 DevOps 流程。小程序
DevOps 的本质是打破各个部门之间的隔阂,打通企业的前中后台,推动跨部门协做。CODING 研发管理系统涵盖了企业从需求管理、迭代规划、产品研发,到测试管理、部署管理等软件研发全周期。辅以 Wiki、文件管理等功能,帮助企业打破各个研发小组甚至企业部门之间的边界,让产品经理、研发团队、测试工程师、运维乃至于市场运营、销售、行政等部门共享同一个协做平台,让信息流通更加顺畅,让跨部门协做更加紧密,帮助企业提升研发效能,创造更多的商业价值。微信小程序
从需求构思到产品落地,CODING 研发管理系统引入硅谷最早进的理论,再结合符合中国研发团队的长期积累,为企业提供最优秀的 DevOps 实践,帮助企业将研发效能提高到全新的标准。安全
同时经过 CODING 的企业微信小程序,还能实现随时随地的同步与协同,经过小程序能够直接查看任务详情、评论任务还能实现容许代码合并(MR)等功能,作到 Coding Anytime Anywhere。微信
DevOps 的核心在于速度和可控性,CODING 权限管理功能,能够帮助项目管理员方便地根据项目成员的角色来分配相应的权限,减小误操做带来的安全隐患,同时还支持自定义用户组,增长研发管理的可控性。在项目开始时,由项目管理员先行配置好全部成员的权限,确保团队更有序地进行软件开发。运维
在邀请全部项目成员加入并配置好相应权限后,正式进入研发阶段。首先要由本项目的产品负责人在需求管理模块中制定项目的产品规划,并负责维护和更新。以后产品团队会经过 CODING 研发管理系统的需求管理功能建立一个需求池。分布式
产品经理将规划上线的功能、用户的反馈以及市场调研的结果整理出来,经过需求管理中的需求形式统一概括,造成需求池。同时产品负责人对需求池中的需求进行进一步分析,根据团队习惯将需求分为技术问题、设计问题和产品问题。每条需求下都会根据需求的复杂程度建立一系列子任务,越重要的需求须要撰写越完整的需求描述。工具
在分析完需求后,经过 CODING 研发管理系统中的迭代功能来制定版本发布计划。此时产品团队须要与研发和设计团队召开产品会议,在会议中,产品经理对各个需求进行优先级排序,明确每次版本迭代中须要包括哪些需求、缺陷、工做和任务并设定好迭代周期。一个项目按照开发顺序能够分红不一样的迭代。性能
事务中包含需求、任务和缺陷,迭代提供完整的概览功能,能够清晰地展现每一个迭代中的事务进行状况和分布。单元测试
在会议结束后,每一个项目成员应该对本身的事务有清晰的认知。测试
在完成迭代规划后,产品经理便可在 Wiki 中根据迭代中的需求撰写完整的产品功能文档。 同时可使用 CODING 的文件功能上传分享产品的原型图。CODING 的功能和 Wiki 功能为研发团队提拱了内置的文档协做和团队知识沉淀工具。
在迭代开始后,拿到产品的原型设计和功能说明文档,研发工程师开始进行相关功能的交付开发。若是需求中涉及设计团队,研发工程师能够直接在需求管理页面经过关联功能关联相应的设计任务。
CODING 的代码托管服务提供高速、稳定且更易用的代码仓库,高性能远端 Git 仓库支持分布式计算和存储,并具备保护分支权限控制等功能。研发团队可使用 Feature Branch Workflow、Gitflow 和 Forking 等并行研发流程,让团队成员共用一个私有项目仓库进行管理协做,开发者能够选择适合自身的开发流程进行开发。这样的并行开发能够大幅缩短等待时间,提升研发团队的研发效能。
DevOps 的主旨在于快速迭代,在注重速度的同时,质量也是重要的指标之一。开发完成后经过提交 Merge Request 进行代码评审,确保代码质量。经过代码评审后 merge 进入 master 分支。
持续集成是 DevOps 的核心,CODING 的持续集成功能对每次提交的代码不断进行自动化的单元测试、代码检查、编译构建、契约测试,甚至自动部署。持续集成大大下降了开发者的工做负担,减小了没必要要的重复劳动,提高代码质量和开发效率。在 CODING 持续集成模块中能够对持续集成功能进行设定。当开发者 push 代码时,会自动触发 CODING 持续集成,持续集成会自动编译并测试该 commit。CODING 持续集成支持在任意阶段触发持续集成。当开发者提交一部分修改完成的代码后,老是但愿能够快速、持续地获得直观且有效的反馈,以达到持续快速交付的目的,这也是 CODING 持续集成功能所但愿达到的目标。
CODING 的持续集成预置了大量构建环境镜像,例如 Java、Python、NodeJS 等等,同时还支持 Docker 镜像构建,让开发者能够快速上手。另外 CODING 的持续集成功能支持代码自动化构建,而且在构建过程当中能够进行自检;每次提交必须进行一次构建、保持构建的高效,确保研发团队易于取得最新构建的可交付成果,而且支持自动化部署。
当持续集成经过后,即可以把代码更新到 staging 环境。
更新 staging 的代码后,开始由测试人员进行相关测试。在 CODING 的测试管理模块中能够方便的建立并执行测试计划。
DevOps 的高效同时也体如今其工做并行的方面上,通常状况下测试工程师在迭代规划完成后便可根据计划中的事务编写测试用例。
根据迭代中的进度和规划建立测试计划,并将当前所须要测试的功能所对应的测试用例规划进去。
当迭代进行到测试阶段后,测试工程师即可直接在平台上执行测试计划,并在计划中的每一个用例里标注测试结果,如测试未经过则需记录相关的错误信息。
Staging 环境测试经过后,该功能就能够在内部测试新功能的形式发布到生产环境,通知相关的产品或设计人员在内部测试环境进行上线前的测试。
在测试环节和正式上线后发现的问题,均可以在 CODING 研发管理系统的缺陷管理模块中概括统一,并排出优先级做为下一个迭代中的工做来源之一。不过这也要具体问题具体分析,紧急程度高的缺陷须要第一时间反馈到产品进行修复,优先级不高的会安排到接下来迭代修复。
在测试阶段没有经过的测试用例,能够直接提交缺陷,返回产品经理手上由其指派给相应的开发者进行修复。
在运营接收到用户反馈的问题时,对该问题进行查实,肯定为缺陷后直接在缺陷管理中提交该缺陷,等待产品经理进行排期。
在一轮迭代结束后,CODING 研发管理系统提供了各种报表功能,自动生成员工工做量、事务状况、完成趋势、延期率等关键指标的相关报告,帮助企业用最短的时间进行自我总结和分享,帮助团队快速吸收教训并投入到下一个迭代中。