您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Jenkins CI如何自動構(gòu)建與C-STAT代碼分析的集成”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Jenkins CI如何自動構(gòu)建與C-STAT代碼分析的集成”這篇文章吧。
a. IAR 嵌入式工作臺 IDE b. C-STAT 許可證 c. Jenkins 安裝
IAR 嵌入式工作臺工具為我們提供了命令行執(zhí)行選項,以實現(xiàn) IAR 項目的靜態(tài)代碼分析?,F(xiàn)在,我們將了解其工作原理。
IAR 系統(tǒng)為我們提供了一個名為 IarBuild.exe 的應(yīng)用程序,該應(yīng)用程序用于在命令行中執(zhí)行分析。您可以在安裝路徑中找到 IarBuild.exe 應(yīng)用程序,如下所示。
C:\Program Files (x86) \IAR Systems\Embedded Workbench 8.1\common\bin\
首先切換到命令路徑中的上述路徑,然后執(zhí)行以下命令來分析整個項目。
IarBuild.exe D:\sample\project\setup\sample.ewp -cstat_analyze Debug
D:\sample\project\setup\sample.ewp 是您的 IAR 項目文件路徑
-cstat_analyze
是要執(zhí)行分析的命令
設(shè)置項目模式為 Debug
通過執(zhí)行上述命令,它將對整個項目執(zhí)行靜態(tài)代碼分析,并且結(jié)果將存儲在 cproject.db 文件中,位于路徑 ...project\setup\Debug\Obj\
下。
注意下次運行代碼分析時,如果自上次分析以來對源代碼文件進(jìn)行了任何更改,則必須首先清除數(shù)據(jù)庫,以避免由于數(shù)據(jù)庫文件中的新舊數(shù)據(jù)混合而引起的問題。
要使用命令行清除數(shù)據(jù)庫文件,請執(zhí)行以下命令,
IarBuild.exe D:\sample\project\setup\sample.ewp -cstat_clean Debug
要生成報告,我們可以使用 IAR 提供的 IREPORT 工具,您可以在同一安裝目錄中找到該工具。IREPORT 工具用于生成 C-STAT 執(zhí)行的先前代碼分析的 HTML 報告。
該報告以數(shù)字和表格形式展示統(tǒng)計數(shù)據(jù)??梢陨蓛煞N不同類型的報告:
具有相關(guān)信息的大綱,例如有關(guān)在項目范圍內(nèi)啟用的檢查、消息總數(shù)、已取消的檢查(如果有)、每個檢查的消息等信息。
完整的報告,其中包含諸如輪廓之類的常量信息,以及在報告結(jié)束時有關(guān)所有已抑制和未抑制消息的其他信息。表格可以折疊和展開,列可以排序
要生成完整的 HTML 報告,我們可以執(zhí)行以下命令,
ireport.exe --db D:\sample\project\setup\Debug\Obj\cstat.db --project D:\sample\project \setup\sample.ewp --full --output D:\sample\result.html
上面的命令包含四個參數(shù):
--db
指定報告所基于的數(shù)據(jù)庫文件的路徑。 --project
指定項目文件。 --full
生成完整報告,其中包含有關(guān)禁止檢查和非禁止檢查的信息。 --output
指定輸出結(jié)果文件的名稱。
沒有直接的插件或方法可用于將此 CSTAT 集成到任何 CI 工具。但是我們可以通過以下方法實現(xiàn)自定義集成。
現(xiàn)在我們知道了用于分析、清理、生成報告文件的命令。使用這些命令,我們可以輕松地編寫批處理腳本文件 (.bat) 文件,然后在 Jenkins 中調(diào)用此批處理文件,作為預(yù)構(gòu)建命令執(zhí)行步驟。
我們將遇到需要通過設(shè)置“低”、“中”、和“高”問題的閾值在 CI 構(gòu)建中定義網(wǎng)關(guān)的場景。如果該值大于設(shè)定值,則可以使構(gòu)建失敗。
默認(rèn)情況下,C-STAT 不向我們提供設(shè)置此值的選項。但是我們可以使用以下自定義腳本來實現(xiàn)此目的。
我們可以獲得包含低、中、高問題計數(shù)分析結(jié)果的 HTML 報告。這些值以格式 data: [0-9, 0-9 ,0-9] 在 HTML 結(jié)果文件中展現(xiàn)。
請參閱下面的腳本,了解我是如何在一個變量中獲取這些值,然后用 sea t 閾值進(jìn)行驗證。
下面是 Jenkins CI 構(gòu)建日志,供您參考。您可以看到由于標(biāo)識為“中優(yōu)先級”的 19 個問題而導(dǎo)致構(gòu)建失敗。
以上是“Jenkins CI如何自動構(gòu)建與C-STAT代碼分析的集成”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。