项目开展 CICD 的实践探路( 二 )


4.1 公司内部平台
Bamboo
Bamboo 是京东自研的一套 CI/CD 流水线解决方案,覆盖软件开发的完整生命周期 。
EOS
EOS 是技术与数据中台自主研发的代码扫描系统,通过扫描分析代码,定位到工程中不规范的编码片段并给出修改建议,能有效监督约束开发人员统一编码习惯,减少因编码不规范引起的低级错误,提高代码可读性,提高团队协作效率 。
4.2 项目实际应用
1)编译 - 部署
对 Jone 上高频构建部署分支进行在 Bamboo 上搭建流水线,实现:
代码提交 - 调用 Jone 的构建 - 调用 Jone 的部署 - 结果通知

项目开展 CICD 的实践探路

文章插图
触发编译构建的几种方式:
  • 手动执行;
  • 代码提交触发执行;
  • 定时任务触发执行;
  • 级联其他流水线触发执行;
应用情况:
  • 组内所测试所覆盖都已部署相关流水线;
  • 支撑测试人员在所测项目中部署自动构建流水线,共计调用次数:364 次 。
2)单元测试
对后端项目开展单元测试,实现:
代码提交 - maven 构建 - 获取单测报告 - 结果通知
项目开展 CICD 的实践探路

文章插图

项目开展 CICD 的实践探路

文章插图
应用效果:
  • 极大简化了获取单测报告的过程,通过简单的过程即可针对项目开展单测、执行单测、并获取单测结果;
  • 支撑超过 8 个项目部署单测流水线,JDL-CRM 权限系统单测有效提升率:20%
3)自动化测试
项目部署之后,开展自动化回归测试,用于项目上线前的回归测试,实现:
自动化测试 - 测试报告 - 测试结果通知
项目开展 CICD 的实践探路

文章插图
目前基于 Python 语言,依托 Py 第三方模块,实现脚本编写,集成到 Bamboo 平台,执行流水线,获取报告 。
应用效果:
  • 负责在销服项目中开展上线前的 UAT 自动回归测试;
4)代码扫描
基于公司搭建的 SonarQube、EOS 平台,开展代码扫描,实现:
代码提交 - 代码扫描 - 扫描报告 - 问题手工记录行云
项目开展 CICD 的实践探路

文章插图
5 后续规划CICD 过程数据与质量效能数据相结合 。
基于 DeepTest 开展更多项目的自动化测试,集成到 BamBoo 平台 。
代码扫描在项目中的应用 。
 
作者:京东物流 陈维
来源:京东云开发者社区 自猿其说 Tech 转载请注明来源

【项目开展 CICD 的实践探路】


推荐阅读