客户背景
该客户是一家专注于轨道交通的控制系统集成商,由中外合资共同成立,至今已有快四十年历史。该公司自成立之日起就聚焦在轨道交通控制系统集成领域,通过在研发上持续不断地投入,获得了源源不断的创新,而且在整个发展过程中独创了企业专属的创新发展模式,在该模式的引领下,先进的技术总是能够及时落地,转化成符合市场发展趋势、满足客户需求的解决方案。当前,该公司已经拥有数百项具有完全自主知识产权的系统技术和产品,覆盖铁路、城市轨道交通、城际铁路、市域铁路、有轨电车等多个领域。
分散到统一,提高源代码管理效率
之前,客户内部使用多种源代码管理系统,包括 GitLab-CE、SVN、IBM ClearCase 等。随着企业业务的增长、团队规模的扩大,多套源代码托管系统在业务敏捷交付的时候显现出了一定的乏力感,将多套系统整合成一套成为了需要考虑的问题。
因此,客户用极狐GitLab 替换了多种代码托管系统,以极狐GitLab 为中心打造源代码托管的单一可信源。极狐GitLab 本身具备成熟、安全的企业级代码托管功能,让客户的源代码管理化繁为简,代码管理效率得到了提升、安全性得到了提高,同时由于不再需要运维多套代码托管系统,系统的运维工作也得到了一定的简化。
一体化平台,实现质效率双赢
之前客户内部使用多套源代码托管系统,由于不同系统的特性不同、规则不同,因此如果要构建统一的代码审核规范、准入规范就需要花费不少精力,另外不同的系统和主流 CI/CD 工具的集成度也不尽相同,很难完全发挥 CI/CD 的作用,实现应用程序的自动化发布。
采用极狐GitLab 一体化 DevOps 平台之后,在代码质量把控方面,通过采用极狐GitLab 内置的代码准入、准出规则,做到了代码提交的标准和统一,而且通过多人审核功能,将代码审核进行了真正的落地,让合入主干分支的代码质量得到了很大的提升。此外,统一使用极狐GitLab CI 作为 CI/CD 构建系统,实现了应用程序的自动化构建、测试、发布,应用程序的发布效率大大提升,而且,由于极狐GitLab CI 和源代码托管位于统一平台内,减少了 CI/CD 系统的运维。
极狐GitLab CI/CD 构建图
GEO 高可用架构,提升跨地域团队协作效率
客户在北京、上海都有研发中心。如何构建跨地域的研发平台,是提高两地研发团队高效协作的关键之一,另外如何保证系统的高可用、高可靠也是保护客户企业内部核心资产的重中之重。
为此,客户使用了极狐GitLab 专业版独有的 GEO 多地域部署架构,实现了通过跨区域部署多套极狐GitLab 实例来构建高效的高可用系统。多套极狐GitLab 实例为一主多从架构,数据在不同实例间实时同步。当某个区域的实例出现故障时,其他区域的实例还能对外提供服务;当主实例出现问题时,从实例就会被提升为主实例,确保业务的持续性。GEO 高可用架构在保障数据安全性的同时还提高了服务的可靠性。另外,GEO 架构还能通过就近节点为就近用户提供服务的方式,优化了客户跨地域研发团队在代码克隆和提交方面的体验。
极狐GitLab GEO 高可用架构
构建内源平台,避免重复造轮子
极狐GitLab 本身是一个开源开放的平台,在开源体系建设上沉淀了很多宝贵的经验。客户利用极狐GitLab 在开源方面的建设能力,在内部构建以极狐GitLab 为中心的内源平台,通过内部开源的方式来避免不同团队、不同部门间重复造轮子的情况,而且让企业内部的代码资产复用性得到了大幅提升,方便团队使用已有的代码资产快速构建新的产品。