乐趣区

关于阿里云:案例|云效赋能一站式企业消费管理品牌差旅壹号持续交付新动力

编者按:元叹,12 年退出差旅壹号,领有多年技术治理及架构教训,差旅壹号技术委员会成员,曾负责过多个外围产品架构,致力于研发品质与效力晋升。

背景

差旅壹号作为一站式企业生产治理平台品牌,涵盖了一站式企业商旅治理、一站式企业出行治理、一站式企业用餐治理、一站式企业福利治理平台。服务着 30 余家央企全团体,100 余家国企选集团体,超过 1000 家上市公司和大型集团型公司。但随着业务规模和服务企业数量的持续增长,客户的需要逐步变得多样化、复杂化,差旅壹号为了疾速迭代,响应客户的诉求,开始寻寻找更高效的解决方案。

问题及痛点

差旅壹号采纳微服务架构,共 200 多个服务,双机房容灾部署,灰度公布。应用 SVN 治理代码分支、jekins 治理编译构建工作、kubernates 治理容器。随着公司规模一直壮大,公布效率方面呈现挑战。具体问题如下:

• 为了实用互联网疾速迭代,须要常常公布,存在工作量大,投产耗时长等问题;

• jekins 集成代码检测平安检测无线上后果,修复查看效率低;

解决成果

• 480 条流水线,均匀公布耗时 3 分钟 / 次,均匀每月构建 6000 分钟,稳固运行 1 年;

• 公布效率方面:公布效率晋升 70%;

• 老本方面:节约 jenkins 等日常保护老本,及相干服务器 6 台;

那是怎么做到的呢?

1、联合公司状况及云效性能反对设计适合的流水线

流水线大抵可分为 4 步:拉取分支代码、代码扫描、代码编译、镜像构建并上传仓库、部署。联合企业理论状况可减少:集成 sonarqube、集成自动化接口测试。

差旅壹号环境分研发集成环境、预公布环境、灰度公布环境、全量公布环境。研发集成环境,疾速集成,疾速测试,不设人工干预卡点;预公布环境,必须通过研发集成环境的充沛测试,测试无问题方可公布;灰度公布环境,预公布环境验证通过,部署灰度公布环境,切换大量用户经营验证;全量公布环境,灰度公布环境验证通过,部署全量公布环境,切换所有用户到最新版本。

结合实际状况,差旅壹号流水线设计如下:将研发集成环境独立成一条流水线(内网流水线),预公布环境、灰度公布环境、全量公布环境设置为 1 条流水线(外网流水线)。内网流水线,效率优先。代码提交后主动触发流水线,通过代码标准扫描、平安扫描后,间接编译构建和部署。代码扫描只扫描出后果,不设红线,在公布外网前解决即可。

外网流水线,品质稳固优先。内网测试通过后,人工触发流水线,首先通过代码标准检测和代码平安检测红线。其次减少人工卡点,对公布做审核,确保内网曾经测试通过满足公布条件。审核通过后公布预公布环境,公布后通过测试、产品验证后即可公布灰度环境,灰度环境运行稳固后即可公布全量环境。

在上线之初代码标准和代码平安可优先解决重大和高危级别问题,中危、个别问题可后续一次或按增量解决。

2、建设模板,对立规定,升高保护老本

测试流水线建设测试胜利后,建设流水线模板,标准流水线的创立,并节约创立老本。(流水线模板可间接从已有流水线另存为流水线模板也可新建)

3、建设流水线,管制权限,保障流水线按指定流程执行

通过模板建设服务流水线(或复制已有流水线),给相应人员开明流水线对应权限:所有权限、运行权限、查看权限。

4、设置流水线分组、标签疾速查问筛选

公司可能领有多条产品线或多个研发团队,每个团队负责内容不同。为防止相互影响,可通过流水线的分组和标签进行辨别。差旅壹号产品线分机票、酒店、大交通、用餐等,分组按产品线辨别,产品线内不同模块以标签辨别。

5、流水线改良

流水线运行一段时间后,差旅壹号做了局部改良,如将线上配置文件批改纳入流水线管控,通过流水线公布;集成 python 自动化接口测试,部署后,主动触发 python 自动化测试脚本并产生测试报告;集成 SonarQube,增强代码平安扫描。

结语

云效是一款十分不错的产品,它与阿里云产品深度交融、功能丰富、配置简略,并始终在一直地优化和欠缺。企业可能基于流水线提供的能力疾速且低成本地搭建一套适宜本人的流水线。差旅壹号也借助云效,实现了企业产品疾速翻新迭代和研发效力降级。感激云效产品的赋能以及施行过程中云效共事的反对。以上内容只是差旅壹号在施行后的一些高见,心愿能给各位同行带来一点帮忙。

阿里云 云效 点我立刻体验云效 DevOps 全家桶!

退出移动版