千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 嵌入式開發(fā):如何定義理想的嵌入式CI/CD管道

嵌入式開發(fā):如何定義理想的嵌入式CI/CD管道

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-12-10 18:29:12 1702204152

如今,現(xiàn)代嵌入式軟件團隊正在實施一個DevOps流程,該流程可以提高安全性、自動化軟件開發(fā)生命周期、加強協(xié)作并提供持續(xù)改進。DevOps是加速軟件交付的文化哲學、最佳實踐和工具的結(jié)合。如果提到DevOps,很多嵌入式開發(fā)者馬上會想到持續(xù)集成/持續(xù)部署(CI/CD)。在本帖中,我們將探討如何定義理想的嵌入式CI/CD管道。

CI/CD管道由什么組成?

CI/CD管道是一系列必須成功完成才能交付新軟件版本的步驟或作業(yè)。在某種程度上,嵌入式開發(fā)人員一直都有CI/CD管道,但這是一個手動且耗時的過程。CI/CD管道的現(xiàn)代概念是,它是自動化的,便于向客戶交付快速的、微小的軟件改進。

典型的CI/CD管道包含三個簡單的活動:構(gòu)建、測試和部署軟件。從概念上講,管道非常簡單,但是細節(jié)經(jīng)常讓開發(fā)人員感到困惑。

仔細考慮每一個方面,確定你想要使用的實現(xiàn),并對其進行配置并不容易。實現(xiàn)你自己的CI/CD解決方案需要深謀遠慮和時間投入,但是該解決方案應(yīng)該是什么樣的呢?每個團隊都有自己的需求,但是所有CI/CD管道都有一些標準特性。讓我們看看幾個領(lǐng)域,并為嵌入式開發(fā)人員定義一個通用的CI/CD管道。我們將保持它的簡單,以便你將來可以在它的基礎(chǔ)上進行構(gòu)建。

定義理想的CI/CD渠道

一個理想CI/CD管道應(yīng)該包含以下工作:

l構(gòu)建–構(gòu)建作業(yè)將獲取你的固件并生成發(fā)布二進制文件。

l分析——分析構(gòu)建工作將靜態(tài)地分析你的代碼。典型的分析將包括圈復雜度、編碼度量和編碼標準遵循,例如樣式指南、MISRA和/或CERT。

l測試–測試工作將執(zhí)行運輸產(chǎn)品所需的所有測試。你可能包括單元、功能、集成、系統(tǒng)和性能測試。

l報告——報告作業(yè)將從以前的作業(yè)中收集結(jié)果,以提供關(guān)于構(gòu)建成功、分析結(jié)果、測試覆蓋率和結(jié)果等信息。

lmerge–當所有作業(yè)都成功時,合并作業(yè)會將新功能合并到部署分支中。這里經(jīng)常有一個人的因素,但這也可以自動化。

l部署–當合并作業(yè)成功完成時,部署作業(yè)將運行并啟動現(xiàn)場部署流程。部署通常與車隊部署軟件交互,該軟件可以將固件推送到現(xiàn)場設(shè)備。

上面的理想管道是我認為嵌入式軟件團隊想要達到的最低目標。毫無疑問,可以添加額外的活動,例如硬件在環(huán)測試、模擬測試等等。然而,并不是所有的團隊都能在這些活動中找到價值。僅僅是啟動和運行這些活動就會讓嵌入式團隊忙碌一段時間。一旦你實現(xiàn)了你的理想愿景,你可以保持這個愿景,也可以擴展它,添加你認為對你和你的團隊有價值的附加功能。

結(jié)論

DevOps很快找到了進入許多團隊嵌入式開發(fā)過程的方法。CI/CD是DevOps采用的重要驅(qū)動因素,因為團隊希望以更快的速度交付軟件。CI/CD提供的自動化也是一個很好的工具,可以減輕手工工作,將開發(fā)人員解放出來,專注于更多的增值特性和產(chǎn)品創(chuàng)新。當你開始你的CI/CD之旅時,你可以利用這篇文章中討論的基本的理想CI/CD管道。不要害怕將基線塑造成你自己理想的CI/CD。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
嵌入式培訓課程:探索技術(shù)的無限可能

近年來,嵌入式系統(tǒng)的廣泛應(yīng)用已經(jīng)深刻改變了我們的生活方式。從智能手機到智能家居,從汽車到醫(yī)療設(shè)備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會不可或缺的...詳情>>

2023-12-12 11:02:35
嵌入式開發(fā):Linux網(wǎng)絡(luò)編程的探索與實踐

在當今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機、電視、汽車到醫(yī)療設(shè)備等。而在這些設(shè)備中,Linux網(wǎng)絡(luò)編程扮演著至...詳情>>

2023-12-12 09:55:55
Java游戲項目開發(fā):技術(shù)概覽與實踐

在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂的重要方式之一。隨著科技的不斷進步,游戲開發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門廣泛使用的編程語...詳情>>

2023-12-12 08:49:15
Web前端的基石:HTML

在數(shù)字化的時代,網(wǎng)頁設(shè)計已經(jīng)成為了一個重要的領(lǐng)域。而在這個領(lǐng)域中,HTML(HyperTextMarkupLanguage)無疑是最基礎(chǔ)、最重要的一環(huán)。它是構(gòu)建...詳情>>

2023-12-12 08:15:55
嵌入式開發(fā):內(nèi)存分配的方式

嵌入式系統(tǒng)開發(fā)中,內(nèi)存分配是一個至關(guān)重要的話題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

2023-12-12 06:35:55
快速通道