0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CI/CD方案:推动智能汽车开发的高效利器

北汇信息POLELINK 2024-12-18 10:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者 |明


小编 | 不吃猪头肉


在智能化和自动驾驶技术飞速发展的背景下,汽车软件开发的复杂性正以前所未有的速度增长。面对市场对效率、质量和快速迭代的高需求,传统开发模式已然捉襟见肘。作为提升开发效率和质量的核心工具,CI/CD(持续集成与持续交付/部署)方案为汽车行业带来了巨大的变革契机。本文将聚焦CI/CD方案在智能汽车领域的核心价值,并探讨如何通过标准化的CI/CD流程帮助企业从容应对未来挑战,全面提升开发效率和竞争力。

CI/CD方案的实施路径

在智能汽车开发的背景下,CI/CD方案的落地是提高开发效率和质量的关键。但从工具链的搭建到流程的标准化,再到全面的实施推广,这一过程充满了技术挑战和管理复杂性。基于成功案例的经验,北汇信息总结了工具链整合、流程规范与逐步实施中的关键要点,并分享如何通过实践优化,避免常见的陷阱与问题。

3909c506-bce4-11ef-8084-92fbcf53809c.png

工具链搭建:从需求出发的整合

CI/CD实施的起点是搭建工具链,确保开发、测试和集成各环节的顺畅衔接。然而,工具的多样性和复杂性让这一环节往往成为实施的第一道关卡。以下是常见工具的应用场景和实践经验:

39226106-bce4-11ef-8084-92fbcf53809c.png

持续集成工具(Jenkins)

实践经验:

Jenkins是行业内广泛应用的持续集成工具,其灵活的插件机制能很好地适配不同项目需求。通过自动触发构建、测试及部署任务,大幅减少手工干预。

在实际使用中,提前设置规范的流水线模板,例如代码提交后自动执行静态检查、编译和测试,可以避免流程反复调整造成的时间浪费。

可能遇到的问题或技术点:

插件兼容性问题:Jenkins插件众多,但部分插件可能与特定工具或环境不兼容,导致流水线失败。

构建时间过长:流水线任务多,容易导致构建时间过长,影响开发效率。

复杂配置:流水线脚本配置复杂,可能导致维护困难。

并行任务设计:如何设计并行流水线以提升执行效率。

静态代码分析(Helix QAC

实践经验:

Helix QAC等工具在代码质量控制中具有重要作用,尤其在C/C++编码规范覆盖度和数据流分析方面表现出色。

规则的合理配置至关重要,既要覆盖项目需求,又不能过于复杂导致团队难以适应。企业可结合行业惯例来设置初期规则,后续逐步调整。

可能遇到的问题或技术点:

规则集管理:过于严格的规则会显著增加开发工作量,过于宽松则可能无法满足行业安全认证(如MISRA或ISO 26262)的要求。

结果呈现:如何通过流水线将分析结果以图表化呈现,方便开发团队快速识别问题。

393ef532-bce4-11ef-8084-92fbcf53809c.png

Helix QAC自动化分析效果静态模型分析(MXAM)

实践经验:

静态分析工具MXAM对于验证ASW模块的结构完整性和架构标准合规性尤为重要。

模型分析的效率在很大程度上取决于初期模型规则是否合理,因为在一些静态分析时,如果勾选了分析引用的模型库,会导致分析时间大大加长。参考类似项目的规则可以显著缩短配置时间。

可能遇到的问题或技术点:

分析规则复杂性:规则库较多且复杂,容易导致配置时间延长。

依赖文件问题:分析时可能依赖外部库文件,缺失时会影响分析结果。

性能优化:如何在大规模模型分析中减少非必要的规则执行,提升效率。

动态代码与模型测试(VectorCAST 和 TPT)

实践经验:

VectorCAST和TPT分别用于代码和模型的动态测试,通过覆盖率分析和功能验证,确保代码和模型在不同运行条件下的表现稳定。

通过积累典型测试用例,设计测试用例编写规则,可以快速提升覆盖范围,并且有统一的测试用例编写规则,对CI/CD后续流程实施会有很大的帮助。

可能遇到的问题或技术点:

测试用例管理:测试用例可能因代码变更而失效,需有稳定的用例库。

环境依赖问题:动态测试需要复杂的硬件或模拟器环境,如何在拉取后,高效适配。

失败用例诊断:如何快速定位失败原因以减少流水线阻塞。

39538d4e-bce4-11ef-8084-92fbcf53809c.png

Jenkins分析结果展示版本控制系统(GitLab 或 SVN)

实践经验:

GitLab或SVN在版本管理方面的能力已被广泛验证,其分支管理和协同开发功能为团队提供了良好的支持。

如果使用GitLab,在分支策略的设计上,结合团队开发特点设置合理的权限控制和合并校验机制,有助于提升协作效率;如果使用SVN,结合整体项目架构,设计规范的文件结构是极其重要的。

可能遇到的问题或技术点:

分支冲突管理:多人协作时如何减少分支合并冲突。

权限控制:如何设置合理的分支保护规则,避免误操作。

分支策略适配:针对不同团队需求,设计合适的分支管理策略(如GitFlow)。

396ba4ec-bce4-11ef-8084-92fbcf53809c.png

GitFolw流程

3980ce30-bce4-11ef-8084-92fbcf53809c.png

流程标准化:从混乱到高效的转变
标准化流程是CI/CD实施的核心,它能够帮助团队在复杂的开发环境中保持一致性和高效运作。然而,设计一套适用于全团队的规范流程往往是最具挑战性的部分。提交与触发规则实践经验:清晰的提交规则和自动触发机制是流程稳定的基础。例如,每次代码提交后自动执行静态代码分析、更新模型后触发静态模型测试等。优化建议:从小范围试点入手,先验证触发机制的可靠性,再逐步推广到全团队。结果报告与发布规则

实践经验:

自动化报告生成和发布工具可以显著降低整理数据的工作量,同时提升信息透明度。例如,测试失败率超过一定阈值时触发预警,并通知相关负责人,确保问题能尽早得到解决。

在CI/CD流程中,当静态分析和动态测试完成后,可以通过Jenkins工具自动触发软件包的构建和发布。通过集成工具,构建生成的应用包可以自动上传至指定的发布仓库,确保部署的版本始终是最新且通过验证的。

优化建议:

在初期,优先关注核心指标,如代码质量、静态分析结果等,确保重点问题得到快速反馈。随着流程的成熟,逐步增加次要指标,如构建成功率、测试覆盖率等,避免报告内容过于冗长,影响阅读效率。

对于自动发布流程,建议建立清晰的版本管理和标记系统,确保每个发布版本与相应的代码版本、测试结果等保持一致。

3997a100-bce4-11ef-8084-92fbcf53809c.png

典型案例:CI/CD方案带来的显著改进
背景与挑战客户是一家全球领先的Tier 1汽车供应商,主要负责智能汽车核心控制系统的开发工作。随着市场快速发展,项目复杂性不断增加,传统开发方式逐渐暴露出以下问题:

开发周期延长:手动集成和测试的流程耗时显著,影响了产品交付进度和市场响应速度。

缺陷积压:代码变更的验证不够及时,导致中后期积累大量潜在缺陷,增加了修复成本。

测试覆盖不足:依赖人工测试,无法全面覆盖复杂的功能场景,影响系统稳定性和质量保障。

实施方案
客户选择北汇信息作为合作伙伴,引入了基于CI/CD的自动化开发流程:

工具链整合

使用 Jenkins 实现持续集成的自动触发和调度。配置 Helix QAC 、TPT、MXAM、 VectorCAST 作为静态与动态测试工具,全面覆盖单元测试、集成测试和功能验证。集成 SVN作为版本管理工具,规范分支策略,支持多团队协作。

流程标准化

定义模块级的提交与触发规则:确保每次变更都会触发预设的流程,例如编译、必要的测试或阶段性验证任务,保证变更对系统整体的影响可控。静态分析和自动化测试可以根据需求设置为周期性或条件触发,以平衡资源消耗与验证效率。统一测试通过标准:设置明确的质量指标,例如代码需符合MISRA规范,通过条件可根据项目需求灵活调整,确保代码质量始终达到行业或项目要求。

分阶段实施

初期:优先实现静态分析和单元测试自动化,确保代码变更的基础质量。中期:逐步扩展到模块级集成测试和动态功能验证。后期:实现从代码提交到系统级部署的全流程自动化。通过引入CI/CD方案,该客户成功解决了传统开发流程中的效率瓶颈和质量问题,为企业缩短产品上市周期、提升软件质量、降低成本提供了有力支撑。

39a9509e-bce4-11ef-8084-92fbcf53809c.png

结语

在智能汽车蓬勃发展的时代,CI/CD已成为推动行业高效开发的核心动力。标准化的CI/CD流程不仅能够提升开发效率和软件质量,还能帮助企业显著缩短产品上市周期,在激烈的市场竞争中抢占先机。然而,CI/CD的落地并非一蹴而就,工具链的搭建、流程的优化以及测试的自动化都涉及复杂的技术和实践。对于希望快速适应智能化趋势的汽车企业而言,借助专业团队的成熟解决方案,无疑是实现CI/CD流程高效落地的最佳选择。北汇信息作为行业领先的技术服务提供商,拥有丰富的CI/CD实施经验,能够为企业量身定制高效的解决方案,帮助企业跳过繁琐的探索阶段,快速进入高效开发的新时代。如果您需要专业支持,请随时联系我们,共同推动智能汽车开发迈向新高度!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能汽车
    +关注

    关注

    30

    文章

    3230

    浏览量

    109140
  • 自动驾驶
    +关注

    关注

    791

    文章

    14669

    浏览量

    176492
  • 静态分析
    +关注

    关注

    1

    文章

    45

    浏览量

    4182
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CI/CT自动化测试解决方案

    北汇信息可以提供Jenkins、Gitlab Runner CI和自研平台等的CI/CT整体解决方案,通过CI/CT自动化测试执行、测试策略定制、测试任务自动调度、测试系统资源统筹、测
    的头像 发表于 11-12 16:01 1196次阅读
    <b class='flag-5'>CI</b>/CT自动化测试解决<b class='flag-5'>方案</b>

    新品发布 | Tlog1039:多总线仿真测试与数据记录一体化利器,赋能汽车电子开发

    。通过以太网高效连接PC,并可选4G/WIFI无线访问。结合TSMaster软件,为您提供从数据记录、总线仿真到诊断标定的全流程解决方案,是汽车电子开发
    的头像 发表于 10-25 10:07 470次阅读
    新品发布 | Tlog1039:多总线仿真测试与数据记录一体化<b class='flag-5'>利器</b>,赋能<b class='flag-5'>汽车</b>电子<b class='flag-5'>开发</b>

    北汇信息汽车电子CI/CT平台案例三则

    北汇信息具备十多年测试行业业务积累,CI/CT自动化测试解决方案已在各大OEM和Tier 1落地,分享三则实际案例。
    的头像 发表于 10-24 15:06 276次阅读
    北汇信息<b class='flag-5'>汽车</b>电子<b class='flag-5'>CI</b>/CT平台案例三则

    AI赋能标准化流程:智能汽车软件CI/CT最佳实践新范式

    智能汽车软件研发中,标准化流程是保障质量与合规的基石。ASPICE与ISO26262等标准要求开发团队在功能安全与过程成熟度之间保持平衡,但随着车载软件复杂度持续增加,传统CI/CT
    的头像 发表于 10-15 10:01 749次阅读
    AI赋能标准化流程:<b class='flag-5'>智能</b><b class='flag-5'>汽车</b>软件<b class='flag-5'>CI</b>/CT最佳实践新范式

    CI/CD实践中的运维优化技巧

    在数字化转型的浪潮中,CI/CD已经成为现代软件开发的基石。然而,真正能够发挥CI/CD威力的,往往在于那些不为人知的运维优化细节。本文将深
    的头像 发表于 09-18 15:05 619次阅读

    【新品】OK3506-S12 Mini开发板发布,含税¥88起,为高效开发而生!

    智能工业应用领域对高效开发平台需求持续攀升的背景下,瑞芯微RK3506系列芯片凭借高效能、低功耗、接口丰富等特性,成为了工业控制、物联网、边缘计算等众多场景的热门选择。为了让更多
    的头像 发表于 09-04 10:04 1474次阅读
    【新品】OK3506-S12 Mini<b class='flag-5'>开发</b>板发布,含税¥88起,为<b class='flag-5'>高效</b><b class='flag-5'>开发</b>而生!

    开发案例 | 用CI1302 AI语音开发板4步打造智能语音床头小夜灯,手残党也能玩转开发

    以下是来自一位启友的投稿,这篇文章生动详细记录了他从零开始,利用启英泰伦CI1302AI语音开发板亲手打造一款智能语音床头小夜灯的实战手记,希望可以鼓励大家动手实践,将脑海中的“黑科技”点子变为现实
    的头像 发表于 06-13 14:53 1303次阅读
    <b class='flag-5'>开发</b>案例 | 用<b class='flag-5'>CI</b>1302 AI语音<b class='flag-5'>开发</b>板4步打造<b class='flag-5'>智能</b>语音床头小夜灯,手残党也能玩转<b class='flag-5'>开发</b>!

    Jenkins和Docker自动化CI/CD全流程

    要想做到一个高效CI/CD流程,需要有能力整合DevOps工具链及多环境适配,并且设计之初以自动化为原则,如一键部署、一键升级。
    的头像 发表于 05-14 11:50 715次阅读
    Jenkins和Docker自动化<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>全流程

    明远智睿SSD2351开发板:仪器仪表与智慧农业的创新利器

    在仪器仪表和智慧农业领域,对设备的精度、稳定性和智能化程度有着较高的要求。明远智睿的SSD2351开发板以其独特的优势,成为这两个领域的创新利器。 在仪器仪表方面,SSD2351开发
    发表于 05-09 19:09

    模型测试全流程实战沙盘,赋能CI/CD及SiL测试 ——TPT Workshop邀请函

    北汇信息将于4月18日在上海市闵行区虹桥镇紫秀路100号4幢3C室举办为期1天的“模型测试全流程实战沙盘,赋能CI/CD及SiL测试”相关内容的交流探讨,诚邀各位新老客户朋友参加!
    的头像 发表于 03-26 15:44 511次阅读
    模型测试全流程实战沙盘,赋能<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>及SiL测试 ——TPT Workshop邀请函

    【Android开发者必看】使用JetBrains TeamCity为Android项目构建CI/CD管道详细指南

    CI/CD】定义明确的构建、测试和部署工作流对Android应用的开发至关重要。JetBrains TeamCity是一个用于构建可靠管道的CI/
    的头像 发表于 03-21 15:42 995次阅读
    【Android<b class='flag-5'>开发</b>者必看】使用JetBrains TeamCity为Android项目构建<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>管道详细指南

    板状天线:无线通信中的高效信号传输利器

    深圳安腾纳天线|板状天线:无线通信中的高效信号传输利器
    的头像 发表于 02-25 09:07 1495次阅读

    Banana Pi开源社区基于瑞芯微RK3588开发板,DeepSeek开发利器

    Banana Pi开源社区基于瑞芯微RK3588开发板,DeepSeek开发利器
    的头像 发表于 02-19 18:25 3214次阅读
    Banana Pi开源社区基于瑞芯微RK3588<b class='flag-5'>开发</b>板,DeepSeek<b class='flag-5'>开发</b><b class='flag-5'>利器</b>

    云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台

    Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)软件项目。它允许开发人员在软件开发过程中自动化各种任务,如构建、测试和部署,从而提高
    的头像 发表于 12-29 15:43 671次阅读
    云服务器Flexus X实例,Docker集成搭建Jenkins <b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>平台

    CI522 NFC刷卡电动车仪表方案

    电动车NFC一键启动 NFC智能刷卡解锁,为你解决四处寻找钥匙的困扰,提升电动车智能化。 Ci522是一款高度集成的13.56MHz非接触式读写器芯片,专为电动车NFC一键启动系统(包括仪表总成
    发表于 12-26 15:52