极狐GitLab 签约比博斯特,助力新能源智能底盘企业研发提效

server/2024/12/21 21:16:47/

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLabGitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab

相关客户案例

  • 极狐GitLab 客户案例中心

客户背景

总部位于上海的比博斯特是全球领先的智能底盘解决方案供应商,集研发、生产、销售于一体,为国内外车企提供软硬一体的智能底盘产品。该公司在上海、北京设有两大研发中心,在江苏南通设有生产基地,旗下有智能制动、智能转向、智能悬架控制器、域控制器等线控底盘全系产品。当下,该公司已完成智能制动、转向、悬架XYZ三轴产品布局,全栈智能制动产品已出货超20万套;智能悬架产品与国内头部上市公司保隆科技达成深度战略合作,将于2024年内量产;智能转向产品已完成产品开发及量产准备,与国内顶尖客户签订战略合作,预计于2025年正式实现量产。

客户面临的挑战

比博斯特的软件研发是基于嵌入式的,因此对于产品的部署和测试和其他产品有一些不同,比如 CI/CD 需要在嵌入式设备上运行,而且操作系统也不是日常所用的 Windows 或 Linux,是底盘产品专用的操作系统。另外,由于比博斯特所处的行业的特殊性,对于代码质量、版本管理、故障回溯等都有非常严格的要求,为了解决这些挑战,比博斯特在研发管理工具选型时选择了极狐GitLab

极狐GitLab 界面非常整洁,对于汽车行业的软件研发工程师来讲,容易上手,也能轻松地发现想用的功能。另外,极狐GitLab 作为一个成熟的工具,可以认为是国内的 GitHub,非常的可靠稳定,对于像比博斯特这种非常看重知识产权、资产安全的公司来讲,是非常不错的选择。

——比博斯特软件研发负责人 郑博士

GitLab__17">极狐GitLab 解决方案

专业的代码管理,让研发专注于代码开发

比博斯特成立之初采用的是传统的软件研发协作模式,在人员较少的时候并没有太大问题,但是随着团队规模的扩大,传统的研发协作模式在版本管理、分布式开发、冲突解决方面的瓶颈点就暴露出来了。

因此,比博斯特开始寻求更加专业高效的代码管理解决方案,在对比了一些产品后,选择了极狐GitLab,原因是极狐GitLab 在代码管理方面更专业,能够很好的对代码质量进行把控,用专业的工具来解决专业的事情,就能够让研发团队更加聚焦在业务开发上。

MR +门禁自动检查+ CodeReview,规范研发流程,提高代码质量

比博斯特在使用极狐GitLab 后,使用 MR(合并请求)+门禁自动检查+ CodeReview(代码审核)对研发流程做了一定的规范。所有变更必须通过 MR 来提交,需要通过流水线上门禁代码检查,包括静态代码检查和单元检查,最后需要至少两位审核人员审核通过,变更代码才允许被合入到代码主干分支中。极狐GitLab 的多人审核机制,能够很好的把控合入主干分支的代码质量,同时也建立起了研发团队内部的一道质量把控防线。

代码推送规则,实现需求和代码变更的映射

比博斯特非常重视代码的可回溯性,需要将需求和问题及代码变更一一关联起来。为此,比博斯特采用了极狐GitLab 专业版的代码推送规则功能。通过配置将代码提交信息(commit message)进行规范化,系统在代码提交时自动检查是否包含需求或问题单 ID,如果不包含ID 或者ID格式不正确,则无法完成代码的提交。

这样做的好处就是一旦出现问题需要回溯的时候,可以直接通过提交信息找到对应的需求 ID,然后查看需求详情。使用代码推送规则实现了需求变更和代码变更的映射,也规范了团队的代码提交方式。

AI 时代,愿携手共探嵌入式研发提效新范式

AIGC 的发展引领了 AI 软件研发提效的变革,极狐GitLab 也正式对外推出了 AI 编程助手与软件研发助手——驭码CodeRider,通过将 AI 能力引入到软件研发全生命周期来提高软件研发效率,功能包括代码补全、代码解释、代码优化、单元测试生成等,通过和 GitLab 的深度集成还实现了使用 AI 处理 Issue、MR 和 CI/CD。

对此,比博斯特软件研发负责人表示,用 AI 赋能软件研发是趋势,比博斯特也在积极探索用 AI 提高软件研发效率的方式和工具,在这一点上,愿意和极狐GitLab 一起携手探索嵌入式软件研发在 AI 赋能下的提效范式。


http://www.ppmy.cn/server/126147.html

相关文章

C++ 部署深度学习模型的学习路线

随着深度学习模型在各行各业中的广泛应用,C 作为一门高效的系统编程语言,在深度学习模型的部署上具有极大的优势。相比 Python,C 在推理速度和资源管理方面表现更好,因此常被用于生产环境中的模型部署。然而,要使用 C …

Python | Leetcode Python题解之第448题找到所有数组中消失的数字

题目&#xff1a; 题解&#xff1a; class Solution:def findDisappearedNumbers(self, nums: List[int]) -> List[int]:n len(nums)for num in nums:x (num - 1) % nnums[x] nret [i 1 for i, num in enumerate(nums) if num < n]return ret

C++ 游戏开发

C游戏开发 C 是一种高效、灵活且功能强大的编程语言&#xff0c;因其性能和控制能力而在游戏开发中被广泛应用。许多著名的游戏引擎&#xff0c;如 Unreal Engine、CryEngine 和 Godot 等&#xff0c;都依赖于 C 进行核心开发。本文将详细介绍 C 在游戏开发中的应用&#xff0…

微信小程序——婚礼邀请函

目的 1.掌握微信小程序的开发技术&#xff0c;包括页面布局、交互设计、数据存储等。 2.学会运用微信小程序的各种组件和 API&#xff0c;实现个性化的婚礼邀请函功能。 3.通过制作婚礼邀请函小程序&#xff0c;提升创意设计和用户体验优化的能力。 4.了解如何在小程序中整…

【C++】第一节:C++入门

1、C关键字 2、命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以避免命名冲突或名字污染&am…

RxJava响应式编程的实现

❤ 作者主页&#xff1a;李奕赫揍小邰的博客 ❀ 个人介绍&#xff1a;大家好&#xff0c;我是李奕赫&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 记得点赞、收藏、评论⭐️⭐️⭐️ &#x1f4e3; 认真学习!!!&#x1f389;&#x1f389; 文章目录 RxJava什么是…

代码工艺:Spring Boot 防御式编程实践

防御式编程是一种编程实践&#xff0c;其核心理念是编写代码时要假设可能会发生错误、异常或非法输入&#xff0c;并通过各种手段防止这些问题引发系统崩溃、错误行为或安全漏洞。该编程方法的目的是让程序在面对不可预测的情况&#xff08;如输入数据异常、硬件故障、意外的用…

[极客大挑战 2019]RCE ME1

<?php error_reporting(0); if(isset($_GET[code])){$code$_GET[code];if(strlen($code)>40){die("This is too Long.");}if(preg_match("/[A-Za-z0-9]/",$code)){die("NO.");}eval($code); } else{highlight_file(__FILE__); }// ?>…