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