实践案例|轻轨线(CI/CD)助力苍穹定制化研发项目管理
小编推荐
轻轨线采用了先进的DevOps工作方法,为苍穹二开场景提供了全方位支持,既能够帮助苍穹二开人员多快好省地完成工作任务,也能满足客户统一管理的要求。本期案例分享了在真实场景中应用轻轨线的经验,帮助大家更有体感地理解如何通过轻轨线管理定制化研发项目。
案例撰稿人:曹凌云
业务背景
1. 场景&痛点
Y公司为某省农牧行业头部企业,为了保持平台架构的先进性和灵活性,满足企业后续拓展的需求,更好地服务于公司越来越多的业务,打算替换原有系统为金蝶云苍穹&星瀚系统,但在具体实施过程中,存在以下问题:
(1)缺乏统一的代码规范:代码、元数据、脚本修改入口不统一,各个环境的代码存在来源不统一的问题,导致差异性大,难以升级维护。
(2)二开工作量大:一般会涉及到多云多应用的开发,且每个月至少会有两次更新,单纯依靠手动更新jar包的方式,不仅效率低下、工作重复,并且手工操作极易出错,难以排查。
(3)效率工具缺乏:项目参与人数众多,且产品、开发、测试等各个角色诉求不一样,但是没有有效的工具进行管理,项目研发管理流程不够流畅。
2. 客户诉求
(1)使用统一的DevOps平台,管理项目上的需求、缺陷、任务等,解决CICD、进度管理等一揽子研发相关诉求,降低项目管理难度。
(2)依托工具链,能实现一站式问题解决,不需要过多地人为干预,降低人工配置成本。
(3)由于人员众多,参与角色较杂,所以要充分降低工具的使用门槛,方便各角色能快速上手且确保权限边界。
解决方案
1. 整体思路
经过调研,使用轻轨线(CI/CD)能完美解决客户诉求,从需求设计到最后的应用部署,都可以在轻轨线内一站式解决,且能够实现流程自动化,过程可追溯。
2. 关键步骤及效果展示
步骤1:研发项目管理
使用轻轨线的需求管理、任务管理和缺陷管理来分别进行需求、任务和缺陷的管理,项目进度一目了然。
(1)需求管理主要用来记录项目组的需求,并将其分配给团队人员进行处理。
(2)任务管理主要用来记录项目组的各种任务,如需求拆解而来的研发任务、测试任务等等,并将其分配给团队人员进行处理。
(3)缺陷管理主要用来记录项目产生的各种bug,并可安排相关的处理人进行处理。
(4)项目看板主要用于查看与项目组相关的需求、缺陷、任务处理情况,方便管理者及时了解当前项目进度。
步骤2:git搭建
(1)git以云为维度划分代码仓库,不同的云分不同的代码库来提交,如供应链用scmc代码库,财务云用fi代码库。
(2)在分支管理上,有develop、test、release、feature、hot分支。管理思路是feature是特征分支,用于本地开发提交验证;develop用于开发环境,test用于测试环境,release分支用于预发布及生产环境,hot分支用于紧急二开补丁。
(3)代码、元数据、脚本增删改统一由研发人员在开发环境发起,并统一以feature git分支为来源,同步到各个分支上,避免了各个环境来源不统一。
步骤3:CICD搭建
(1)流水线
根据代码仓库的结构,流水线以领域云为维度进行创建,针对不同环境会创建对应的流水线。
流水线搭建完成后,现场可以根据实际需求设置触发策略,比如开发测试环境可以设置定时触发或代码源触发去进行构建,预发布环境和生产环境流水线手动触发。
①如下图所示,以云为维度创建项目和创建流水线。
②流水线可以设置代码源触发(提交或合并代码时触发),也可以设置定时触发。
(2)代码扫描
在流水线中进行补丁包构建时,可以选择代码扫描,只有符合代码质量门禁要求的才可以去进行构建,否则流水线将自动禁止构建。轻轨线代码扫描内置了金蝶云苍穹&星瀚的编码规范,可以在代码扫描任务中选择合适的扫描规则集进行扫描。
(3)发布管理
在部署时,开发测试等环境开发直接通过流水线执行,但涉及到生产环境,可通过发布管理功能进行管控,每一次发布都需要进行严格的审批,同时在创建发布时,可以关联工作项(即需求和缺陷),记录本次发布发布了哪些需求和解决了哪些缺陷,方便进行溯源。
步骤4:其他
(1)权限相关
由于整个流程参与角色众多,不同角色成员所参与的环节不一样,每个项目成员都可以按照角色设置不同的权限。如下图所示,开发成员仅具备发布管理的查看权限,了解项目的最近发布情况,但是不具备发布单的编辑和审批权限。
(2)通知管理
在整个项目管理过程中,对于关键服务可以开启通知功能,支持云之家、企业微信、钉钉、飞书、邮件通知。
方案的可推广价值
苍穹GPaaS轻轨线(CI/CD)是为苍穹二开环境提供苍穹环境治理、DevOps流水线、项目管理等服务能力的一体化融合 PaaS 平台,不同于市面上通用型 PaaS 平台,轻轨线基于云原生技术架构,聚焦私有化场景下苍穹开发运维一体化的业务述求,同时大幅提升了苍穹二开应用的易用性,是管理、开发、升级苍穹应用的最优工具。主要为客户带来以下价值:
1. 统一执行标准
统一规范了代码、元数据、脚本修改入口,并有可记录、过程可追溯的版本管理。增删改统一发起环境和来源,避免了各个环境来源不统一、差异性较大,导致难以升级维护的问题。
2. 提升研发效率
实现二开研发过程中自动升级部署,使开发人员更加专注于代码,减少了大量的手工操作,避免由此带来的重复工作量。
3. 保障工程质量
二开研发不再需要手工打jar包,实施人员或者研发人员不再需要手工在多个环境修改元数据,全部由工具实现,避免手工误操作;集成代码扫描功能,可以根据实际需求对代码进行静态检查和安全扫描,充分保障代码工程质量。
4. 项目进度跟踪
使用研发项目管理工具,使得研发流程更加的顺畅,产品、开发、测试等知道要做什么,什么时候完成,管理者也很方便的了解当前的研发进度。
5. 全流程可追溯
从需求设计到最后的发布,形成完整的闭环,所有操作均在轻轨线(CI/CD)内完成,操作留痕,且各个角色各司其职,权责统一,做到每一次发布都有迹可循。
相关资料
有任何疑问也可扫码进群交流~(仅限金蝶内部用户)
实践案例|轻轨线(CI/CD)助力苍穹定制化研发项目管理
本文2024-09-23 01:09:03发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144094.html