公司规模扩大,技术团队人数不断增多,如何提高研发效率是许多技术团队共同面临的问题。研发团队和运维团队之间的「无形墙」,不恰当的研发流程、方法等等,都对研发效率造成了极大的负面影响。
DevOps 是「Development」和「Operations」的合成词,表示在软件产品交付的过程中,「研发团队」和「运维团队」进行高效沟通和协作,旨在更快、更可靠地发布高质量软件。DevOps 是一种理念、文化和实践,目的是实现持续交付流水线,强调「部署流水线」、「自动化」、「团队合作」、「可重复」、「可视化」等关键词。ONES 通过 ONES Pipeline、ONES TestCase 等产品打通 DevOps 全流程,提供专业技术解决方案。
ONES DevOps 解决方案特点
1.集成流水线
使用自动化设施有助于缩短软件发布时间,提高常规处理流程的可靠性。在研发过程中集成自动化工具,搭建 DevOps 流水线,可以有效帮助研发人员提升研发效率及交付质量。
ONES Pipeline 支持集成完整 DevOps 流水线,将代码提交关联、构建结果关联、部署结果关联等能力集成于一处,帮助团队更好进行 DevOps 实践。
2.信息可视化
复杂信息的清晰可视化能够使团队成员快速获取关键信息,并通过信息反馈进行相关优化调整。
在 ONES Pipeline 集成流水线后,ONES Project 提供流水线中结果可视化,团队成员可直接查看代码构建结果、代码质量分析结果、自动化测试结果等。同时,团队成员可在其中追溯历史信息,并进行相关信息分析。
3.团队合作
团队合作是 DevOps 的核心原则之一。为了减少部署风险,研发、运维等技术团队中各角色的协作至关重要。在产品研发的过程中,整个技术团队应该有共同的目标。从一个新项目的开始就要让团队成员能够一起参与到产品发布的过程中,以保证他们有机会频繁且有规律地进行交流,才能逐步向「更快、更可靠地发布高质量软件」这一目标迈进。
ONES Project 支持研发、运维、测试、产品等多角色成员共同协作,提供关联不同类型工作项、敏捷看板、工作项负责人变更、评论@相关成员、页面关注者通知等功能。在研发项目中,每一迭代都有多角色成员从始至终参与到研发过程,打破部门墙,使信息有效流动。
ONES DevOps 实践方式
持续集成与持续交付是 DevOps 的核心流程,而部署流水线是持续集成与持续交付的关键。部署流水线是指一个软件产品从构建、部署、测试到发布整个过程的自动化实现。
ONES 企业级研发管理工具贯穿研发管理全流程,从提交、自动化测试、手工测试、发布、持续改进几个阶段为 DevOps 提供有效支持。
敏捷是 DevOps 的一部分。关于用户故事、需求管理等内容,见《ONES 敏捷研发管理解决方案》。
1.提交
提交阶段是部署流水线的入口,在这个阶段,涉及到编译、单元测试、组装打包、代码分析等工作。
ONES 在提交阶段提供以下功能:
代码关联集成:研发人员提交代码后,可与研发任务关联。
团队成员可以在 ONES Project 工作项下查看代码提交情况。
持续关联集成:在持续集成中,开发人员每向代码库提交一次代码,就应该触发一次构建。
ONES Project 可直接呈现代码构建结果,使研发人员能够及时确定代码提交是否成功,同时方便团队成员追溯代码构建历史。
代码质量分析:代码质量分析用于审计研发团队提交代码的质量,帮助团队提高代码可靠性和可维护性。
ONES Pipeline 支持 Java 代码质量分析,并将问题总数、问题级别分布、问题责任人分布等分析结果呈现在 ONES Project 中。团队成员可随时在其中查看分析结果,并可根据每日代码问题趋势进行代码优化。
2.自动化测试
全面的自动化测试是持续集成的前提条件之一。自动化测试可以保障产品质量,节省人力,提高测试效率,具备「可重复」、「高可靠」的特点。
ONES Pipeline 支持集成自动化测试,抓取自动化测试结果在 ONES Project 进行可视化呈现。团队成员可以查看每一迭代中的测试用例通过情况,并可根据每日用例通过率趋势优化代码质量。
3.手工测试
对于很多产品发布流程来说,即使有非常全面的自动化测试集合,在发布之前仍需要一些手工测试。一般来说,在持续交付中,自动化测试大多是验收测试,手工测试主要是探索性测试、易用性测试等。
ONES TestCase 是测试用例与测试计划管理工具,可以高效管理手工测试。ONES TestCase 可以创建用例库,通过多个用例库来管理和组织测试用例,用例库支持导入、导出、排序、复制、筛选、批量移动等功能。
测试人员可通过建立和执行测试计划在测试环节进行多轮测试。建立测试计划后,可将用例库中的测试用例关联到测试计划中。
在测试计划的执行阶段,测试人员通过变更测试用例状态、记录执行结果等操作来完成测试计划。
在执行测试计划的过程中,如果测试不通过或阻塞,可提交缺陷至关联的工作项和迭代,进行缺陷的追踪管理。开发及测试人员可以通过「缺陷」这一工作项类型及其组件在 ONES Project 中管理测试过程中产生的缺陷。
测试人员可以使用报表对项目或迭代范围内的缺陷进行统计,评估研发质量,跟踪缺陷修复情况。
ONES TestCase 支持各类质量统计报表,如缺陷状态分布表、累计趋势报表等。
4.发布
持续交付希望产品发布成为一件非常容易的事情,即技术团队需要为软件发布创建一个可重复且可靠的过程,因此应该对发布流程及发布结果进行管理。
ONES Project 支持发布流程审批。可将发布管理作为项目,迭代发布作为单一工作项进行管理,通过工作项流转及负责人权限配置,进行迭代发布的流程审批。
ONES Pipeline 支持部署结果关联,软件部署结果可直接反馈至 ONES Project 中关联的迭代,帮助团队成员第一时间了解部署情况。
5.持续改进
DevOps 强调持续改进,在交付过程中,团队应该定期召开回顾会议,讨论哪些事项需要改进以及如何改进,这也是戴明环的内容:计划-执行-检查-处理(PDCA)。只有不断进行经验总结,并落实改进方法,团队的交付过程才会持续进步。
ONES Wiki 是一个团队知识库,支持关联 ONES Project 项目及工作项、多方编辑及查看文档、灵活权限分配等功能。在每个迭代结束后,团队成员可以共同总结迭代经验,并在 ONES Wiki 进行知识沉淀,不断改进 DevOps 流程。
另外,ONES Project 支持工时记录,并在资源管理中统一进行工时管理。项目管理者可以通过工时管理查看团队成员在每个项目、工作项上的工作时间,有针对性的进行流程改善。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。