实践案例 | 苍穹轻轨线助力多应用开发的高效管理
1 小编推荐
中大型企业往往业务范围较广,系统应用多。因此,在开发过程中,容易面临管理难度大、规范性不强等问题,导致企业开发成本高,运行效率低。
本期文章将带来“轻轨线CI/CD苍穹应用管理实践”,帮你解决上述难题!
撰稿人:金蝶—曹凌云。
2 业务背景
某500强钢铁企业的业务范围较广,涉及全球。在二开现场,有10+领域云和30+苍穹应用,是典型的中大型用户。因此,在开发过程中,代码结构的规范性是开发管理的重点之一。
对于代码结构,客户尝试过单体模式(即所有应用都在一个代码仓库下),也尝试过应用模式(即一个应用一个代码仓库),都无法满足客户需求,主要存在以下问题:
1、在单体模式下,代码均存储在同一个仓库下,代码分类不明确,不符合微服务的架构原则;并且在使用轻轨线(CI/CD)流水线进行构建时,不能选择对应的应用进行构建,导致构建不够灵活,效率低。
2、在应用模式下,每个苍穹应用都需要创建一个代码仓库。但在轻轨线服务中,每个应用都需要创建一个项目,且一条流水线只能构建一个应用,导致不能进行多应用同时构建,不符合项目的实际情况,维护管理难度增大。
因此,客户希望在规范代码结构的前提下,又能够满足项目实际需要,让应用管理更灵活。
2 解决方案
为此,该客户引入了“苍穹应用管理”的能力来承载这个方案。苍穹应用管理,是连接代码结构和流水线构建的桥梁,在兼顾代码结构规范性的同时,又能满足用户在流水线构建时灵活选择应用的需求。
当前苍穹二开的标准方案是以一个“领域云”作为基础单元对代码进行分类管理,一定程度上符合微服务治理架构,且不会出现基础单元过多导致管理困难的问题,更符合项目实际管理需要。因此,客户选择苍穹轻轨线服务的代码结构,具体如下:
客户代码结构示例
那么在轻轨线服务中,如何将代码结构和流水线关联起来,做到选择某一领域云即可进行多应用的同时构建呢?具体操作步骤分为以下3步:
步骤1:创建苍穹应用
进入路径:【登录gPaaS】→【左上角菜单】→【项目管理】→【进入相关项目】→【苍穹应用管理】→【新增】。
客户可以在每个苍穹应用里维护应用的元数据、数据库脚本及代码工程的路径,一个项目(领域云)下可以创建和维护多个苍穹应用,如下图:
苍穹应用管理列表页
新增苍穹应用
步骤2:构建流水线时,选择相关的应用
在进行流水线构建时,在“拉代码”节点添加好对应的代码仓库地址后,即可在“构建补丁包”节点选择需要构建的苍穹应用,并进行补丁包的构建。
注:“拉代码”节点里的代码仓库地址和“构建补丁包”节点的应用路径相组合,构成了完整的苍穹应用地址,从而完成对应的苍穹应用的补丁包构建。
CI(构建)流水线详情页
“构建补丁包”节点详情页
选择需构建的苍穹应用
步骤3:查看补丁包
当构建完成后,进入制品库服务中看到构建的补丁包。此时,多个应用均会在一个补丁包中(如下图),实现了多应用的同时构建。
构建的补丁包结构
4 方案的可推广价值
项目管理更高效。该客户以“领域云”为基础的代码结构,既规范了代码,又满足了项目实际需要,客户由原来的30+流水线减少为10+流水线。
兼容多种代码结构。在个性化开发现场,不同客户的代码组织结构各不相同,因为历史原因,客户很难对原有代码结构做出调整。通过苍穹应用管理的功能可以很好地适配不同代码结构。例如在单体模式下,客户再也不用对代码结构进行调整,也能够使用轻轨线服务,满足客户不同的需求。
减少重复配置。通过苍穹应用管理,减少了用户重复配置的操作,由原来需要创建几十个项目到现在只需要创建几个项目(取决于客户有几个领域云)。
提高CICD的效率。该方案支持多应用构建,无需多次构建和多次部署,节省了部署时间,更符合二开现场实际需求;也能够很好地解决项目依赖问题。
#往期推荐#
更多精彩内容,“码”上了解!↓
实践案例 | 苍穹轻轨线助力多应用开发的高效管理
本文2024-09-23 01:09:25发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144129.html