AI智能总结
个人简介 陈 登 辉 配 置 管 理 中 心-研 发 经 理 深度参与DevOps体系建设,在项目中扮演了关键角色,与团队一起不断突破技术瓶颈,借助工具平台的研发实现了配置管理的自动化与智能化,显著提高了交付效率。 一体化协同 背景&痛点 痛点三代码合并到环境交付时间长二线下和人工的方式效率低下弊端多三变更流程复杂效率低四缺少统一的管理和平台工具五缺乏研发执行层面的数据 痛点二在金融领域的创新浪潮中,银行业务的革新与新产品的层出不穷,对科技能力提出了更高的要求——银行科技需敏捷响应市场变化,加速产品迭代,迅速占领市场,以实现效益最大化。当前,我行已构建超过500个系统,涵盖了多条业务线,涉及多种编程语言。然而,单一的版本控制工具已难以胜任高效的版本管理,导致开发与变更代码的效率大幅下降。在变更流程上消耗的时间,往往远超实际开发所需,成为制约效率提升的瓶颈。 一体化协同 一体化协同 •以需求为驱动,围绕项目建立端到端的线上化的全流程管理和操作。 •建立一体化工作台,让团队所有角色和人员在统一的平台处理日常事务和协同。 •集成已建管理平台和操作平台,提供各领域的服务,在统一的协同平台下进行流程协作和交互。 目标与愿景 构建统一的应用版本控制和变更管理;构建和打造江南银行一体化交付标准和规范,实现交付质量的标准和可控。 通过全面的自动化能够大大降低对人员的依赖;通过自助化工具释放现有人力,降低现有人员瓶颈的带来的压力 建立支持需求快速迭代的研发交付流程,整合交付工作流,解决交付流程效率低下的问题。 如何实现 02.手工到自动 01.线下到线上 将手工的编译、部署等工作用自动化代替。 将线下操作搬到线上,比如代码的合并工作在线完成。 一体化 04.分散到一体 03.串行到并行 将原先分散的工具系统集成,形成统一的入口,降低使用门槛和学习成本。 一体化协同平台 项目价值 效率提升 数据度量 通过对整个交付流程各项数据进行汇总统计,领导层的决策提供数据支撑 转型成果 自助式代码合并解决了原有代码合并人员瓶颈,提高了效率。 自动化构建部署替代人工,缩短了交付时间。 交付工作流规范了交付流程,让跨团队人员可以协同工作。 质量门限控制对代码的不规范变更,降低了变更风险。 工单将原有线下工作线上化,提升了管理透明度,规范了工作方式。 研发一体化 研发过程 平台通过调用gitlab的api实现分同时,基于研发管理平台内需求阶段的流转,来控制分支的可交目前,我行实现了研发流程平台与工具平台的无缝对接与整合,打造出一条以研发管理平台、一体化协同平台以及Git为支柱的高效研发交付流水线。通过一体化协同平台的链接,源代码管理与研发流程实现了无缝对接,交付过程在一体化协同平台的全程在线管理下,确保了研发流程的流畅与高效。 代码交付策略 研发交付策略 n通过需求任务的受理会自动创建对应的需求分支。n对应的需求会根据需求负责人的需要配置可对分支操作的研发人员。n在交付时,通过转测任务、转测缺陷动态的关联对应开发分支。n需求完成投产之后会在次日交付到主干分支,并通知研发团队进行自助式分支同步。 需求代码一体化 平台通过调用gitlab的api实现分支的自动创建。 同时,基于研发管理平台内需求阶段的流转,来控制分支的可交付环境。 G O P S全 球 运 维 大 会 暨 研 运 数 智 化 技 术 峰 会2 0 2 4·上 海 站 在线自主交付 在线自主交付 研发人员可以在一体化协同平台上自主的发起对应环境的交付。 已有308个应用在一体化协同平台的助力下实现了自动化交付,这一数字占总应用数量的60%,而对于那些更新频率较高的应用(至少每月更新一次),覆盖率更是高达90%。平台共计完成了113,134次交付任务,成功推动了24,343个需求的测试转化与关联缺陷的修复,覆盖率达到的75.9%。 在线自主交付 在线代码合并 自动化构建、部署 研发人员在一体化协同平台上将需求分支向集成分支合并,如果需要人工解决冲突则提供多人在线共同解决的页面 在线代码审查 研发负责人在一体化协同平台对合并结果进行在线检查,根据检查结果选择打回或者进入下一步 需求、缺陷驱动交付 根据需求的阶段可以交付对应环境:n转测前可以使用功能完整发版作为原因关联需求进行交付n转测之后就只能通过对应的缺陷来进行环境的交付 多人实时在线代码合并 在线代码审查 代码审查 n研发人员可以通过页面查看源码文件的变更内容,进行变更检查。n如果文件被标记为配置文件,则会着重提示防止配置文件修改错误。n同时,所有配置文件需要再次检查防止修改遗漏。 源码变更 在线代码审查 在所有分支都合并完成之后需要由对应应用的开发负责人组织进行在线的代码变更审查,确变更内容是否符合需求。 自动化构建、部署过程监控 配置一体化 配置一体化 源代码集中管理 将一体化协同平台、Git仓库与研发管理平台紧密整合,形成了一个高效的研发管理体系。研发管理平台进行需求的受理与权限的申请,而一体化协同平台负责需求分支的创建与权限的精细管控,确保了研发环境的安全与秩序。 交付流程定制化 变更与制品管理 区别于主流的DevOps实践路径。无需对所有应用的技术栈和开发框架进行大刀阔斧的改造,而是通过前期调研与组件开发,将每个应用独特的构建与部署流程模块化封装,实现灵活的编排与组合,以适应不同应用在不同场景下的需求。 自动生成需求的变更文件清单,文件根据不同的变更方式(修改、新增、删除、冲突)分别展示,进一步确保目标码和源码的一致性。所有产物、变更集均会在制品库记录保证了制品的可追溯性和版本控制的准确性。 在线定制工作流 自定义工作流 一体化协同平台内的大部分工作都需要多人协作配合完成,因此平台底层基于标准化的业务建模标准Bpmn2.0对业务流程进行建模。通过图形化的配置将业务流程中相关的人员、业务、环境等组合,实现灵活配置的标准化业务流程引擎,以应对多种类的场景需求。 G O P S全 球 运 维 大 会 暨 研 运 数 智 化 技 术 峰 会2 0 2 4·上 海 站 图形化流程编排 通过对应用交付资源构建、部署的解构,分解成环境、应用包、组件,通过自主研发的自动化引擎,将这些内容组合起来进行图形化编排,可以支持自动化交付、自动化运维及其他自动化应用。 平台交付亮点 动态自动化流程 多路并行交付 定制化交付流程 •自动生成变更文件清单,提高变更可靠性•可实现多环境不同流程,更好地适应环境差异•自动化流程可灵活编排,满足复杂流程需求 •遵循国际标准的工作流引擎,功能强大•图形化配置,可灵活定制 •图形化交付变更确认,提高投产成功率•线上操作,降低人为操作风险•多路并行交付,大大提高构建部署效率 源码集中式管控 源码管控 将分散在ClearCase、SVN、GIT等不同源代码管理系统中的代码进行统一迁移。这些重要的代码资产将被集中存放至一个统一的Git仓库,接受标准化的管理,以提升代码的可维护性和团队协作效率。已有204个代码仓库和24,162条分支在这一全新的管理模式下运行,享受着集中化管理带来的便利与高效。 准确高效的代码合并 通过配置的Gtilab仓库地址进行源代码拉取,并在代码服务所在服务器进行合并,如果有冲突需要解决,会将页面合并内容保存到服务器本地,完成之后推送到远程仓库。 每次合并之前会对本地仓库进行clean,保证本地仓库是干净没有问题的。 01 所有合并均在代码服务所在本地服务器进行操作,未完成之前不会影响远程仓库。 02 自动合并,如有冲突由项目组进行在线共同解决,无人员瓶颈,交付并发度可以大大提高。 每次合并的结果,以及人工介入解决的冲突文件记录均会保存至文件服务器,方便版本追溯。03 统一制品管理 制品仓库 对全行应用部署所用到的制品统一由配置管理团队提供平台进行管理,记录每一次的部署版本,即使短期内无法做到源代码管控的项目也能通过制品仓库进行管理。做到所有资源均来自于统一授信源。 平台展望 04 平台展望 平台建设 Step 03 Step 01 对接自动化测试、精准测试等专业的测试平台形成研发流水线。实现测试一体化 源代码集中管理,制品统一管理,变更管理线上化。 实现配置项与源码分离,单独管控。做到一次构建多次部署。 将环境运维工单自动化、线上化,提高环境运维的效率,实现运维一体化。 通过自动化构建、部署与在线交付功能将交付流程赋能研发人员。 T h a n k s 荣誉出品