1. gzyueqian
      13424082685

      3個(gè)入門的CI/CD技巧簡(jiǎn)化嵌入式系統(tǒng)開發(fā)

      更新時(shí)間: 2024-05-25 10:31:44來源: 粵嵌教育瀏覽量:1304

      嵌入式最大的趨勢(shì)之一是采用和改進(jìn)持續(xù)集成/持續(xù)部署(CI/CD)實(shí)踐。CI/CD背后的思想是團(tuán)隊(duì)需要盡可能多地自動(dòng)化他們的嵌入式開發(fā)過程。

      今天的嵌入式系統(tǒng)對(duì)于人工工作來說已經(jīng)變得過于復(fù)雜和精密。當(dāng)然,你無法擺脫它,但是在開發(fā)周期中有太多可以自動(dòng)化的東西。如果利用得當(dāng),自動(dòng)化可以簡(jiǎn)化開發(fā)、降低成本和縮短上市時(shí)間。

      在今天的文章中,我們將探討三種簡(jiǎn)單的方法來幫助開始使用嵌入式軟件的CI/CD

       

      技巧1:量化價(jià)值

      開始CI/CD之旅時(shí),先量化開始這項(xiàng)工作需要花費(fèi)的時(shí)間和成本,然后再量化它將帶來的好處。例如,可能會(huì)考慮實(shí)施成本,例如

      每個(gè)用戶的工具成本

      每位用戶的培訓(xùn)成本

      管道設(shè)計(jì)和安裝成本

      每年的維護(hù)成本

      每個(gè)用戶的時(shí)間投資

       

      一旦你了解成本,你必須問自己:你有投資CI/CD開發(fā)的預(yù)算嗎?的團(tuán)隊(duì)是否有足夠的資源來實(shí)施新流程、接受培訓(xùn)等?

       

      然而,上述問題并不能讓你了解全貌。還需要量化收益,例如

      bug到達(dá)客戶手中之前將其捕獲

      利用TDD和模擬等現(xiàn)代技術(shù)

      通過利用自動(dòng)化和提高產(chǎn)品質(zhì)量來降低成本和縮短上市時(shí)間

       

      如果預(yù)先花一些時(shí)間分析CI/CD中獲得的收益與成本,會(huì)發(fā)現(xiàn)它提供了很好的投資回報(bào)。

       

      技巧2:構(gòu)建自動(dòng)化

      開始使用CI/CD最簡(jiǎn)單和最容易的方法是讓的軟件自動(dòng)構(gòu)建。構(gòu)建自動(dòng)化是關(guān)鍵的第一步。它為提供了設(shè)置可重用構(gòu)建環(huán)境和腳本來控制管道的經(jīng)驗(yàn)。

      可重用的構(gòu)建環(huán)境通常是使用Docker之類的容器工具來實(shí)現(xiàn)的。Docker允許打包構(gòu)建軟件所需的環(huán)境和工具。該容器可用于在服務(wù)器上構(gòu)建的軟件,但開發(fā)人員也可以在開發(fā)過程中使用它來構(gòu)建軟件!

       

      由于開發(fā)人員在他們的計(jì)算機(jī)上有不同的構(gòu)建環(huán)境,bug突然出現(xiàn)并不罕見。容器有助于確保每個(gè)人在完全相同的環(huán)境中使用完全相同的工具這包括剛剛起步的CI/CD渠道!

      相同的環(huán)境非常重要,因?yàn)楫?dāng)CI/CD管道中運(yùn)行一個(gè)作業(yè)來構(gòu)建最新的固件時(shí),服務(wù)器上的環(huán)境應(yīng)該與開發(fā)代碼的環(huán)境相同。否則,管道可能會(huì)說的代碼無法構(gòu)建,而實(shí)際上,這可能只是一個(gè)服務(wù)器配置問題。

       

      構(gòu)建自動(dòng)化是很好的第一步,因?yàn)樗试S和團(tuán)隊(duì)驗(yàn)證最近的提交實(shí)際上構(gòu)建成功了。可能會(huì)想,誰會(huì)提交不起作用的代碼呢?它確實(shí)發(fā)生了。對(duì)看起來很好的代碼做一點(diǎn)小小的調(diào)整,卻發(fā)現(xiàn)它無法構(gòu)建,這種情況并不罕見。

       

      技巧3:自動(dòng)化代碼度量報(bào)告

      一旦有了可以在服務(wù)器上構(gòu)建固件的容器,下一步就是自動(dòng)化代碼度量報(bào)告。分析源代碼中的問題有很大的價(jià)值。它幫助跟蹤的進(jìn)度,以及許多問題,這些問題通常不會(huì)被發(fā)現(xiàn),除非進(jìn)行手工代碼審查。

       

      例如,每個(gè)團(tuán)隊(duì)都努力遵循一個(gè)編碼標(biāo)準(zhǔn),這樣所有的代碼看起來都一樣。我們創(chuàng)建編碼風(fēng)格指南和各種其他流程。然而,開發(fā)人員偏離這些風(fēng)格的頻率有多高?一直都是!審查每一行代碼并確保它符合標(biāo)準(zhǔn)的工作量太大了。這就是自動(dòng)化的用武之地!

       

      可以設(shè)置管道,以便對(duì)軟件進(jìn)行分析。分析可以有很大的不同,比如這些內(nèi)容:

      堅(jiān)持編碼風(fēng)格

      功能復(fù)雜性

      連接

      內(nèi)聚力

      代碼行

      代碼覆蓋率

      等等。

       

      這個(gè)清單可以一直列下去。然后可以使用代碼度量的報(bào)告來發(fā)現(xiàn)開發(fā)代碼中的問題。大多數(shù)團(tuán)隊(duì)忽略了基本的軟件度量。不幸的是,這使得團(tuán)隊(duì)對(duì)潛在的問題和他們積累的技術(shù)債務(wù)視而不見。如果盡早將報(bào)告構(gòu)建到的管道中,它將為提供及早發(fā)現(xiàn)問題并在變革成本仍然較低時(shí)修復(fù)它們所必需的洞察力。

       

      結(jié)論

      CI/CD是一種現(xiàn)代技術(shù),幾乎每個(gè)嵌入式軟件團(tuán)隊(duì)都應(yīng)該采用。如今,工具的存在使得采用變得非常經(jīng)濟(jì)。事實(shí)上,它非常容易上手,并且不需要花費(fèi)大量的時(shí)間和金錢來建立一個(gè)基本的管道。

      正如我們所討論的,最好的開始方式是首先建立一個(gè)容器構(gòu)建系統(tǒng)。然后,將能夠在管道中設(shè)置一個(gè)構(gòu)建作業(yè),以驗(yàn)證代碼至少編譯成功。后,分析你的軟件的度量、靜態(tài)分析等等就沒有更多的工作了。

      從那里,你會(huì)發(fā)現(xiàn)你已經(jīng)對(duì)你的開發(fā)過程有了很多的可視性。自動(dòng)化有助于確保可以繼續(xù)獲得洞察力,而無需團(tuán)隊(duì)付出太多努力。

      這兩個(gè)首要的技巧可以幫助形成一個(gè)基線CI/CD過程,為的團(tuán)隊(duì)和客戶提供大量的價(jià)值,并且可以擴(kuò)展到更復(fù)雜的自動(dòng)化形式。

      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 夜鲁夜鲁夜鲁很鲁在线视频 | 永久电影三级在线免费观看 | 日本免费一区二区三区中文字幕 | 日本久久一区一本高清 | 思思99思思久久最新精品 | 中文字幕在线中文乱码不卡24 |