背景
建筑设计与DevOps能擦出什么样的火花?建筑AI智能设计平台——品览联合创始人& CTO 彭靖田形象地说道:
在软件开发领域,DevOps的价值是更快地、敏捷地的交付。在建筑领域呢?以大家熟知的造房子来说,就好比我们如何能够更加快速高效高质量的造出房子。这跟开发软件非常类似,分为三个核心步骤:
第一步,画设计图纸,相当于我们写代码;
第二步,图纸画完后,需要对设计图纸进行审核,这对应的是测试阶段;
第三步,在设计图审核通过之后,就会交由施工单位进行建设,这就是好比是工地,对应的是软件的运维交付阶段。
在软件开发领域,DevOps的工具能够实现敏捷的软件生产交付,回到造房子这个主题,品览通过AI技术去加速整个过程,提高效率,这其中的关键步骤:一方面需要对CAD施工图进行数字化提取、识别、打散、抽象成更多有意义的业务信息,另一方面,系统需要整合监管部门的审核法规,然后通过算法将两者有机结合,完成最终施工图的校验审核。
关于品览
品览是建筑设计 AI 智造者,专注于建筑设计 AI 服务,致力于为地产企业和设计院客户提供 AI 设计服务。其自主研发的建筑 AI 智能设计平台 AlphaDraw筑绘通,基于计算机视觉技术,建筑设计知识库和生成式强化学习算法帮助客户自动完成施工图设计。仅需上传建筑方案图纸就可以自动完善成套施工图,并符合各地设计规范,助力企业标准化出图、效率质量双提升。
现状与挑战
品览在成立之初就已经采纳了业界比较先进的技术栈去构建整个产品研发、发布流程,其中,在需求、源代码、测试、打包阶段引入了GitLab社区版。同时,作为云原生技术的实践者,所有服务均以容器化方式运行,采用Harbor作为容器的镜像仓库,并通过Jenkins将服务发布到华为云的Kubernetes集群之上。基于这些技术栈,品览建立了完善的DevOps体系,通过自动化流水线贯穿包括本地开发、回归测试、集成测试、预发布、生产五个环境。
“我们2021年连续完成了A+、A++两轮融资,融资之后,也赢来了团队的扩张,这对研发效能管理、合规管理带来了新的挑战。如何能够通过工具固化研发管理流程?如何能够将DevOps再提升一个层次?如何能够提高团队的协作效率?”
面对新的挑战,在充分调研之后,品览决定引入极狐GitLab专业版。在面对为什么选择极狐时,彭靖田表示:“首先,我非常喜欢极狐GitLab的三大产品宗旨:Single, Open, Secure。我也是开源极客,相信作为一个长达10年经久不衰的开源产品,其背后意味着方向选择的正确性,更稳定的产品。其次,高成熟度的DevOps解决方案一定是一体化平台,再外加少许定制化服务,极狐GitLab就是这个非常不错的底座。极狐GitLab专业版的功能设计非常巧妙,很多功能直击我们的痛点,包括极狐GitLab Runner流水线引擎,基本能够满足我们DevOps的业务管理。”
解决方案
通过极狐售前解决方案团队,我们快速组织人员对产品试用,也非常感谢极狐团队的 Workshop,介绍了包括 DevOps 理论,以及极狐GitLab 产品的进阶功能价值,获得了大家的一致认可。”
——品览联合创始人&CTO 彭靖田
1 需求管理
品览的研发涉及到设计院、公司以及公司内部的多个研发团队,是一个复杂的研发系统,同一个任务需要多个团队的多个人员同时参与。
极狐GitLab自身有 Group/Subgroup 的概念,而且 Subgroup 还可以进行嵌套,在这一点上,可以很好的和组织架构进行匹配,通过 Group/Subgroup 来管理不同组织架构的不同团队,这很好解决团队权限合规管理的问题。
另一方面,极狐GitLab提供了完善的敏捷项目管理的功能,比如 Epic, Milestone, Kanban Board 功能,也包括类似工时统计、Issue报表导出等基础特性,在需求管理方面发挥了重要作用。
2 Code Review
研发管理最重要的一个维度就是代码质量,完善的Code Review机制对保障代码质量是非常重要的。极狐GitLab提供了多样化的功能,包括灵活的Merge Request Approval定义规则,可以根据不同项目,定义不同的审批规则;包括细节层面,支持对代码片段的Comments,这些交互友好的特性能极大促进团队协作。
3 一体化DevOps平台,有效提高团队研发效能
品览是极狐GitLab Runner的重度用户,高频使用Runner流水线进行构建,以提升效率。
极狐GitLab不仅内置诸多开箱即用的控件,能够支撑单元测试、代码质量检测和服务的打包动作;也有很多高阶功能:如父子流水线(Parent-Child Pipeline),可用于在同一个代码库中上下游流水线的关联和触发。
它支持将一条复杂的流水线解耦为一主多从的多条流水线,并基于特定的规则构建起运行关系。在降低流水线维护复杂度的同时,支持可选择性地触发子流水线以提升流水线运行效率。
品览有一个工作场景:研发人员会使用 Fork 的方式进行协同开发,Fork 的项目就跟主项目形成父子关系,项目经理要求开发人员每一次提交 MR,都需要进行一次单元测试,并且需要在父项目里面看到子项目流水线中单元测试结果。极狐GitLab 的父子流水线功能就能解决这一问题。
4 原厂服务支持
此前,品览使用GitLab社区版已有3年时间,积累了大量的业务数据,包括代码、二进制文件、以及流水线数据。因此,对于GitLab的版本升级和迁移非常谨慎。极狐客户成功团队通过专业的技术服务打消了这一顾虑。从GitLab 11.11.3到极狐GitLab 14.2.3,在极狐团队的帮助下,品览顺利完成横跨3个大版本、历经13个小版本的GitLab升级,总耗时3小时。
感谢极狐GitLab 协助我们完成升级与迁移工作,整个过程是非常顺畅的,基本上是无感迁移,没有出现任何问题,大大超出我们的预期。
——品览联合创始人&CTO彭靖田
未来展望
DevOps是一个方法论,一种文化,每个企业实践时不是一蹴而就的,需要逐步完善。从工具的选型角度,一体化平台往往很难覆盖到企业在DevOps全生命周期中的各个阶段。因此,一体化平台+少量定制化开发则是非常不错的选择。
品览在早期技术选型中也是选择了如GitLab作为项目管理、源代码管理、CI管理工具,搭配其他小而美的工具组合成DevOps工具链。随着2021年品览引入极狐GitLab专业版产品,也了解到一体化DevOps平台的业务价值。品览也会去探索使用更多极狐GitLab功能,逐渐走向DevOps一体化。
未来,极狐将不断深耕产品研发,携手更多行业客户探索DevOps应用场景,以贴合更多行业应用场景需求,共同推进技术创新,为更多客户带来安全、快速、可靠的数字化转型体验。