0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CI/CD方案:推動智能汽車開發(fā)的高效利器

北匯信息POLELINK ? 2024-12-18 10:03 ? 次閱讀

作者 |明


小編 | 不吃豬頭肉


智能化和自動駕駛技術(shù)飛速發(fā)展的背景下,汽車軟件開發(fā)的復(fù)雜性正以前所未有的速度增長。面對市場對效率、質(zhì)量和快速迭代的高需求,傳統(tǒng)開發(fā)模式已然捉襟見肘。作為提升開發(fā)效率和質(zhì)量的核心工具,CI/CD(持續(xù)集成與持續(xù)交付/部署)方案為汽車行業(yè)帶來了巨大的變革契機。本文將聚焦CI/CD方案在智能汽車領(lǐng)域的核心價值,并探討如何通過標(biāo)準(zhǔn)化的CI/CD流程幫助企業(yè)從容應(yīng)對未來挑戰(zhàn),全面提升開發(fā)效率和競爭力。

CI/CD方案的實施路徑

在智能汽車開發(fā)的背景下,CI/CD方案的落地是提高開發(fā)效率和質(zhì)量的關(guān)鍵。但從工具鏈的搭建到流程的標(biāo)準(zhǔn)化,再到全面的實施推廣,這一過程充滿了技術(shù)挑戰(zhàn)和管理復(fù)雜性?;诔晒Π咐慕?jīng)驗,北匯信息總結(jié)了工具鏈整合、流程規(guī)范與逐步實施中的關(guān)鍵要點,并分享如何通過實踐優(yōu)化,避免常見的陷阱與問題。

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

工具鏈搭建:從需求出發(fā)的整合

CI/CD實施的起點是搭建工具鏈,確保開發(fā)、測試和集成各環(huán)節(jié)的順暢銜接。然而,工具的多樣性和復(fù)雜性讓這一環(huán)節(jié)往往成為實施的第一道關(guān)卡。以下是常見工具的應(yīng)用場景和實踐經(jīng)驗:

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

持續(xù)集成工具(Jenkins)

實踐經(jīng)驗:

Jenkins是行業(yè)內(nèi)廣泛應(yīng)用的持續(xù)集成工具,其靈活的插件機制能很好地適配不同項目需求。通過自動觸發(fā)構(gòu)建、測試及部署任務(wù),大幅減少手工干預(yù)。

在實際使用中,提前設(shè)置規(guī)范的流水線模板,例如代碼提交后自動執(zhí)行靜態(tài)檢查、編譯和測試,可以避免流程反復(fù)調(diào)整造成的時間浪費。

可能遇到的問題或技術(shù)點:

插件兼容性問題:Jenkins插件眾多,但部分插件可能與特定工具或環(huán)境不兼容,導(dǎo)致流水線失敗。

構(gòu)建時間過長:流水線任務(wù)多,容易導(dǎo)致構(gòu)建時間過長,影響開發(fā)效率。

復(fù)雜配置:流水線腳本配置復(fù)雜,可能導(dǎo)致維護(hù)困難。

并行任務(wù)設(shè)計:如何設(shè)計并行流水線以提升執(zhí)行效率。

靜態(tài)代碼分析(Helix QAC

實踐經(jīng)驗:

Helix QAC等工具在代碼質(zhì)量控制中具有重要作用,尤其在C/C++編碼規(guī)范覆蓋度和數(shù)據(jù)流分析方面表現(xiàn)出色。

規(guī)則的合理配置至關(guān)重要,既要覆蓋項目需求,又不能過于復(fù)雜導(dǎo)致團(tuán)隊難以適應(yīng)。企業(yè)可結(jié)合行業(yè)慣例來設(shè)置初期規(guī)則,后續(xù)逐步調(diào)整。

可能遇到的問題或技術(shù)點:

規(guī)則集管理:過于嚴(yán)格的規(guī)則會顯著增加開發(fā)工作量,過于寬松則可能無法滿足行業(yè)安全認(rèn)證(如MISRA或ISO 26262)的要求。

結(jié)果呈現(xiàn):如何通過流水線將分析結(jié)果以圖表化呈現(xiàn),方便開發(fā)團(tuán)隊快速識別問題。

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

Helix QAC自動化分析效果靜態(tài)模型分析(MXAM)

實踐經(jīng)驗:

靜態(tài)分析工具M(jìn)XAM對于驗證ASW模塊的結(jié)構(gòu)完整性和架構(gòu)標(biāo)準(zhǔn)合規(guī)性尤為重要。

模型分析的效率在很大程度上取決于初期模型規(guī)則是否合理,因為在一些靜態(tài)分析時,如果勾選了分析引用的模型庫,會導(dǎo)致分析時間大大加長。參考類似項目的規(guī)則可以顯著縮短配置時間。

可能遇到的問題或技術(shù)點:

分析規(guī)則復(fù)雜性:規(guī)則庫較多且復(fù)雜,容易導(dǎo)致配置時間延長。

依賴文件問題:分析時可能依賴外部庫文件,缺失時會影響分析結(jié)果。

性能優(yōu)化:如何在大規(guī)模模型分析中減少非必要的規(guī)則執(zhí)行,提升效率。

動態(tài)代碼與模型測試(VectorCAST 和 TPT)

實踐經(jīng)驗:

VectorCAST和TPT分別用于代碼和模型的動態(tài)測試,通過覆蓋率分析和功能驗證,確保代碼和模型在不同運行條件下的表現(xiàn)穩(wěn)定。

通過積累典型測試用例,設(shè)計測試用例編寫規(guī)則,可以快速提升覆蓋范圍,并且有統(tǒng)一的測試用例編寫規(guī)則,對CI/CD后續(xù)流程實施會有很大的幫助。

可能遇到的問題或技術(shù)點:

測試用例管理:測試用例可能因代碼變更而失效,需有穩(wěn)定的用例庫。

環(huán)境依賴問題:動態(tài)測試需要復(fù)雜的硬件模擬器環(huán)境,如何在拉取后,高效適配。

失敗用例診斷:如何快速定位失敗原因以減少流水線阻塞。

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

Jenkins分析結(jié)果展示版本控制系統(tǒng)(GitLab 或 SVN)

實踐經(jīng)驗:

GitLab或SVN在版本管理方面的能力已被廣泛驗證,其分支管理和協(xié)同開發(fā)功能為團(tuán)隊提供了良好的支持。

如果使用GitLab,在分支策略的設(shè)計上,結(jié)合團(tuán)隊開發(fā)特點設(shè)置合理的權(quán)限控制和合并校驗機制,有助于提升協(xié)作效率;如果使用SVN,結(jié)合整體項目架構(gòu),設(shè)計規(guī)范的文件結(jié)構(gòu)是極其重要的。

可能遇到的問題或技術(shù)點:

分支沖突管理:多人協(xié)作時如何減少分支合并沖突。

權(quán)限控制:如何設(shè)置合理的分支保護(hù)規(guī)則,避免誤操作。

分支策略適配:針對不同團(tuán)隊需求,設(shè)計合適的分支管理策略(如GitFlow)。

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

GitFolw流程

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

流程標(biāo)準(zhǔn)化:從混亂到高效的轉(zhuǎn)變
標(biāo)準(zhǔn)化流程是CI/CD實施的核心,它能夠幫助團(tuán)隊在復(fù)雜的開發(fā)環(huán)境中保持一致性和高效運作。然而,設(shè)計一套適用于全團(tuán)隊的規(guī)范流程往往是最具挑戰(zhàn)性的部分。提交與觸發(fā)規(guī)則實踐經(jīng)驗:清晰的提交規(guī)則和自動觸發(fā)機制是流程穩(wěn)定的基礎(chǔ)。例如,每次代碼提交后自動執(zhí)行靜態(tài)代碼分析、更新模型后觸發(fā)靜態(tài)模型測試等。優(yōu)化建議:從小范圍試點入手,先驗證觸發(fā)機制的可靠性,再逐步推廣到全團(tuán)隊。結(jié)果報告與發(fā)布規(guī)則

實踐經(jīng)驗:

自動化報告生成和發(fā)布工具可以顯著降低整理數(shù)據(jù)的工作量,同時提升信息透明度。例如,測試失敗率超過一定閾值時觸發(fā)預(yù)警,并通知相關(guān)負(fù)責(zé)人,確保問題能盡早得到解決。

在CI/CD流程中,當(dāng)靜態(tài)分析和動態(tài)測試完成后,可以通過Jenkins工具自動觸發(fā)軟件包的構(gòu)建和發(fā)布。通過集成工具,構(gòu)建生成的應(yīng)用包可以自動上傳至指定的發(fā)布倉庫,確保部署的版本始終是最新且通過驗證的。

優(yōu)化建議:

在初期,優(yōu)先關(guān)注核心指標(biāo),如代碼質(zhì)量、靜態(tài)分析結(jié)果等,確保重點問題得到快速反饋。隨著流程的成熟,逐步增加次要指標(biāo),如構(gòu)建成功率、測試覆蓋率等,避免報告內(nèi)容過于冗長,影響閱讀效率。

對于自動發(fā)布流程,建議建立清晰的版本管理和標(biāo)記系統(tǒng),確保每個發(fā)布版本與相應(yīng)的代碼版本、測試結(jié)果等保持一致。

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

典型案例:CI/CD方案帶來的顯著改進(jìn)
背景與挑戰(zhàn)客戶是一家全球領(lǐng)先的Tier 1汽車供應(yīng)商,主要負(fù)責(zé)智能汽車核心控制系統(tǒng)的開發(fā)工作。隨著市場快速發(fā)展,項目復(fù)雜性不斷增加,傳統(tǒng)開發(fā)方式逐漸暴露出以下問題:

開發(fā)周期延長:手動集成和測試的流程耗時顯著,影響了產(chǎn)品交付進(jìn)度和市場響應(yīng)速度。

缺陷積壓:代碼變更的驗證不夠及時,導(dǎo)致中后期積累大量潛在缺陷,增加了修復(fù)成本。

測試覆蓋不足:依賴人工測試,無法全面覆蓋復(fù)雜的功能場景,影響系統(tǒng)穩(wěn)定性和質(zhì)量保障。

實施方案
客戶選擇北匯信息作為合作伙伴,引入了基于CI/CD的自動化開發(fā)流程:

工具鏈整合

使用 Jenkins 實現(xiàn)持續(xù)集成的自動觸發(fā)和調(diào)度。配置 Helix QAC 、TPT、MXAM、 VectorCAST 作為靜態(tài)與動態(tài)測試工具,全面覆蓋單元測試、集成測試和功能驗證。集成 SVN作為版本管理工具,規(guī)范分支策略,支持多團(tuán)隊協(xié)作。

流程標(biāo)準(zhǔn)化

定義模塊級的提交與觸發(fā)規(guī)則:確保每次變更都會觸發(fā)預(yù)設(shè)的流程,例如編譯、必要的測試或階段性驗證任務(wù),保證變更對系統(tǒng)整體的影響可控。靜態(tài)分析和自動化測試可以根據(jù)需求設(shè)置為周期性或條件觸發(fā),以平衡資源消耗與驗證效率。統(tǒng)一測試通過標(biāo)準(zhǔn):設(shè)置明確的質(zhì)量指標(biāo),例如代碼需符合MISRA規(guī)范,通過條件可根據(jù)項目需求靈活調(diào)整,確保代碼質(zhì)量始終達(dá)到行業(yè)或項目要求。

分階段實施

初期:優(yōu)先實現(xiàn)靜態(tài)分析和單元測試自動化,確保代碼變更的基礎(chǔ)質(zhì)量。中期:逐步擴(kuò)展到模塊級集成測試和動態(tài)功能驗證。后期:實現(xiàn)從代碼提交到系統(tǒng)級部署的全流程自動化。通過引入CI/CD方案,該客戶成功解決了傳統(tǒng)開發(fā)流程中的效率瓶頸和質(zhì)量問題,為企業(yè)縮短產(chǎn)品上市周期、提升軟件質(zhì)量、降低成本提供了有力支撐。

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

結(jié)語

在智能汽車蓬勃發(fā)展的時代,CI/CD已成為推動行業(yè)高效開發(fā)的核心動力。標(biāo)準(zhǔn)化的CI/CD流程不僅能夠提升開發(fā)效率和軟件質(zhì)量,還能幫助企業(yè)顯著縮短產(chǎn)品上市周期,在激烈的市場競爭中搶占先機。然而,CI/CD的落地并非一蹴而就,工具鏈的搭建、流程的優(yōu)化以及測試的自動化都涉及復(fù)雜的技術(shù)和實踐。對于希望快速適應(yīng)智能化趨勢的汽車企業(yè)而言,借助專業(yè)團(tuán)隊的成熟解決方案,無疑是實現(xiàn)CI/CD流程高效落地的最佳選擇。北匯信息作為行業(yè)領(lǐng)先的技術(shù)服務(wù)提供商,擁有豐富的CI/CD實施經(jīng)驗,能夠為企業(yè)量身定制高效的解決方案,幫助企業(yè)跳過繁瑣的探索階段,快速進(jìn)入高效開發(fā)的新時代。如果您需要專業(yè)支持,請隨時聯(lián)系我們,共同推動智能汽車開發(fā)邁向新高度!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 智能汽車
    +關(guān)注

    關(guān)注

    30

    文章

    2852

    瀏覽量

    107272
  • 自動駕駛
    +關(guān)注

    關(guān)注

    784

    文章

    13812

    瀏覽量

    166447
  • 靜態(tài)分析
    +關(guān)注

    關(guān)注

    1

    文章

    40

    瀏覽量

    3889
收藏 人收藏

    評論

    相關(guān)推薦

    CI522 NFC刷卡電動車儀表方案

    電動車NFC一鍵啟動 NFC智能刷卡解鎖,為你解決四處尋找鑰匙的困擾,提升電動車智能化。 Ci522是一款高度集成的13.56MHz非接觸式讀寫器芯片,專為電動車NFC一鍵啟動系統(tǒng)(包括儀表總成
    發(fā)表于 12-26 15:52

    艾體寶產(chǎn)品 CircleCI:高效CI/CD平臺,助力開發(fā)團(tuán)隊加速交付!

    CircleCI是一個強大的CI/CD平臺,專為提高軟件開發(fā)效率而設(shè)計。它通過自動化測試、構(gòu)建和部署,幫助開發(fā)團(tuán)隊加速交付,減少手動錯誤。支持平行化測試、Docker容器化管理,并與多
    的頭像 發(fā)表于 11-20 10:22 ?198次閱讀
    艾體寶產(chǎn)品 CircleCI:<b class='flag-5'>高效</b>的<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>平臺,助力<b class='flag-5'>開發(fā)</b>團(tuán)隊加速交付!

    AUTOSAR架構(gòu)下,持續(xù)集成CI的最佳實踐

    隨著汽車電子技術(shù)的快速發(fā)展,汽車軟件的復(fù)雜性與日俱增,如何確保軟件開發(fā)高效性與穩(wěn)定性成為了一個關(guān)鍵問題。為了解決這個問題,許多汽車企業(yè)和供
    的頭像 發(fā)表于 10-24 08:06 ?473次閱讀
    AUTOSAR架構(gòu)下,持續(xù)集成<b class='flag-5'>CI</b>的最佳實踐

    Perforce靜態(tài)分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改進(jìn)和安全增強

    ?和Klocwork的最新版本對靜態(tài)分析工具進(jìn)行了重大改進(jìn),通過盡早修復(fù)錯誤、降低開發(fā)成本和加快發(fā)布速度,使開發(fā)團(tuán)隊實現(xiàn)左移。本文中,我們將概述2024.2版本的新特性和新功能。CI/CD
    的頭像 發(fā)表于 10-08 16:22 ?282次閱讀
    Perforce靜態(tài)分析工具2024.2新增功能:Helix QAC全新<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>集成支持、Klocwork分析引擎改進(jìn)和安全增強

    CI24R1——精簡版Si24R1,高性價比替代XN297開發(fā)資料

    CI24R1為了減低用戶的開發(fā)時間,將2.4G芯片開發(fā)出2.4G小模塊,用戶直接貼片調(diào)試,大大降低了開發(fā)時間跟生產(chǎn)工序。廣泛應(yīng)用在燈控、鼠標(biāo)、玩具等
    發(fā)表于 09-29 16:07

    使用MATLAB、Simulink和Polyspace加速軟件定義汽車開發(fā)

    開發(fā)軟件定義汽車 (SDV) 時,開發(fā)團(tuán)隊必須具備新的能力,例如進(jìn)行連續(xù)的軟件發(fā)布,減少軟件更改的交付周期以及盡可能減少部署失敗。同時,平臺團(tuán)隊需要為車載計算機和區(qū)域控制器創(chuàng)建新軟件開發(fā)
    的頭像 發(fā)表于 09-05 09:57 ?464次閱讀
    使用MATLAB、Simulink和Polyspace加速軟件定義<b class='flag-5'>汽車</b><b class='flag-5'>開發(fā)</b>

    恩智浦MBDT加速汽車電機控制系統(tǒng)開發(fā)

    汽車電氣化的推進(jìn),也在推動汽車電機控制應(yīng)用的拓展。因此,找到一種更高效方案,加速汽車電機控制系
    的頭像 發(fā)表于 08-27 09:59 ?999次閱讀

    智能時代的“信使”:北斗短報文終端,高效通信的利器!

    隨著科技的飛速發(fā)展,我們迎來了一個全新的智能時代。在這個時代里,通信技術(shù)作為信息傳遞的橋梁,發(fā)揮著至關(guān)重要的作用。而在眾多通信技術(shù)中,北斗短報文終端憑借其獨特的功能和優(yōu)勢,成為了高效通信的利器
    的頭像 發(fā)表于 07-02 14:50 ?485次閱讀
    <b class='flag-5'>智能</b>時代的“信使”:北斗短報文終端,<b class='flag-5'>高效</b>通信的<b class='flag-5'>利器</b>!

    南京中科微Ci522芯片:智能門鎖應(yīng)用方案推薦

    南京中科微這顆Ci522芯片是一個高度集成的,工作在13.56MHz的非接觸式讀寫器芯片,閱讀器支持ISO/IEC 14443A。其特有的ACD功能(超低功耗自動載波偵測),可以將智能門鎖的功耗降到
    的頭像 發(fā)表于 06-07 14:04 ?640次閱讀
    南京中科微<b class='flag-5'>Ci</b>522芯片:<b class='flag-5'>智能</b>門鎖應(yīng)用<b class='flag-5'>方案</b>推薦

    笙泉、呈功攜手推出FOC智能型調(diào)機系統(tǒng),實現(xiàn)高效開發(fā)馬達(dá)控制產(chǎn)品

    本帖最后由 noctor 于 2024-6-3 14:45 編輯 笙泉、呈功攜手推出FOC智能型調(diào)機系統(tǒng),實現(xiàn)高效開發(fā)馬達(dá)控制產(chǎn)品 FOC智能型調(diào)機系統(tǒng)笙泉科技 近幾年持續(xù)
    發(fā)表于 06-03 11:58

    借助ENNOVI這些方案,智能電動汽車設(shè)計可以化繁為簡

    電子發(fā)燒友網(wǎng)報道(文/吳子鵬)在電動化、網(wǎng)聯(lián)化、智能化概念的推動下,當(dāng)前汽車設(shè)計正在發(fā)生翻天覆地的變化。三者之間層層遞進(jìn),電動化讓新時代的汽車以新能源動力系統(tǒng)為基礎(chǔ),通過互聯(lián)化實現(xiàn)大數(shù)
    的頭像 發(fā)表于 04-23 01:12 ?4069次閱讀
    借助ENNOVI這些<b class='flag-5'>方案</b>,<b class='flag-5'>智能</b>電動<b class='flag-5'>汽車</b>設(shè)計可以化繁為簡

    鋰電池電壓轉(zhuǎn)換利器:PW2052芯片,高效穩(wěn)定降電壓

    鋰電池電壓轉(zhuǎn)換利器:PW2052芯片,高效穩(wěn)定降電壓
    的頭像 發(fā)表于 03-07 10:24 ?563次閱讀
    鋰電池電壓轉(zhuǎn)換<b class='flag-5'>利器</b>:PW2052芯片,<b class='flag-5'>高效</b>穩(wěn)定降電壓

    【換道賽車:新能源汽車的中國道路 | 閱讀體驗】1.汽車產(chǎn)業(yè)大變局

    這場汽車產(chǎn)業(yè)的大變局對汽車行業(yè)的未來有著深遠(yuǎn)的影響。首先,新能源汽車的崛起將改變傳統(tǒng)的汽車動力系統(tǒng),推動
    發(fā)表于 03-04 07:28

    如何在DevOps環(huán)境中實施測試用例管理

    由于DevOps 工作流程使用CI/CD 方法進(jìn)行軟件開發(fā),因此您的測試管理工具還應(yīng)該能夠與GitLab 和Jenkins 等CI/CD
    的頭像 發(fā)表于 01-29 09:30 ?1520次閱讀
    如何在DevOps環(huán)境中實施測試用例管理

    全自動三工位插拔力試驗機:揭秘高效生產(chǎn)的科技利器

    全自動三工位插拔力試驗機:揭秘高效生產(chǎn)的科技利器
    的頭像 發(fā)表于 01-03 09:09 ?582次閱讀
    全自動三工位插拔力試驗機:揭秘<b class='flag-5'>高效</b>生產(chǎn)的科技<b class='flag-5'>利器</b>