实践案例|轻轨线(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)代码扫描
在流水线中进行补丁包构建时,可以选择代码扫描,只有符合代码质量门禁要求的才可以去进行构建,否则流水线将自动禁止构建。轻轨线代码扫描内置了金蝶云苍穹&星瀚的编码规范,可以在代码扫描任务中选择合适的扫描规则集
实践案例|轻轨线(CI/CD)助力苍穹定制化研发项目管理
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



