[Jenkins 新插件] 兼容阿里開發手冊 (P3C) 的火線插件安裝使用教程


一、前言

  火線(Fireline)的Jenkins官方插件已經上線,目前火線不僅能檢查出安卓代碼中的安全類問題和內存泄露問題,還兼容了阿里開源的Java開發規約(P3C項目),本文將以教程的形式幫助大家了解如何在Jenkins中使用火線插件做靜態代碼掃描。

  提示:如果您是第一次使用Jenkins,請先前往文章【[新手教程] Jenkins 下載安裝配置教程】,本篇博客轉載:http://www.sohu.com/a/208421161_741445?qq-pf-to=pcqq.c2c

二、安裝步驟

Jenkins安裝火線(Fireline)插件

  1. 點擊左上角的Jenkinslogo,依次點擊系統管理->管理插件,

    在插件頁面點擊可選插件按鈕,

  2. 在過濾欄輸入fireline,勾選查詢出來的Fireline Plugin插件,點擊直接安裝。

  3. 等待安裝成功后,點擊返回首頁,開始配置。

Jenkins配置火線

  1. 點擊創建一個新任務,輸入任務名稱,選擇構建一個自由風格的軟件項目,點擊確定。

  2. 在配置頁面的General欄輸入項目名稱,我這里輸入的CodeScan。

  3. 在“源碼管理”欄配置你想掃描的代碼,我這里輸入的是火線專屬測試項目的git地址:https://github.com/ariesliu/TestCasesProject

  4. 跳過構建觸發器和構建環境配置欄,在構建欄點擊增加構建步驟,在下拉列表中選擇Execute FireLine選項。

  5. “構建”欄會出現火線相關的配置,報告路徑會有一個默認的地址,不需要輸入,默認報告會放在你的個人用戶的report目錄下,如圖所示。配置完成,點擊保存按鈕。

  6. 保存成功后,在調轉后的頁面點擊立即構建。

  7. 此時頁面會看到有一個任務正在執行,點擊任務編號,此處為#1。

  8. 在此次任務的詳情列表點擊Console Output欄,可以看到任務的執行過程。等待任務執行完成后,可以看到火線報告的路徑,如下圖所示。

  9. 打開該目錄的testReport.html,可以看到本次的代碼掃描結果。

在Jenkins中直接查看火線掃描結果

  1. 在以上所述的配置完成后,我們查看掃描結果報告需要每次自己手動打開文件夾,比較麻煩。我們可以通過一個配置,實現在Jenkins中直接查看火線的掃描結果。

    首先我們要安裝一個新的插件HTML Publisher plugin,再次去往系統管理-> 管理插件 ->可選插件,搜索HTML Publisher plugin,點擊直接安裝,安裝成功后返回。

  2. 回到我們的項目CodeScan進行配置,這次只需要配置構建后操作欄,點擊增加構建后操作步驟下拉框,選擇Publish HTML reports選項。

  3. 點擊增加按鈕。在HTML directory to archive欄輸入火線報告的生成路徑,即在構建欄中火線默認的結果報告路徑,復制過來即可。在Index page[s]欄輸入testReport.html,這是火線默認生成的HTML報告的名稱。這兩項配置完成后點擊保存。

  4. 此時還沒有完成,因為火線的HTML報告用了JS進行更好的效果展示,我們需要在Jenkins中配置運行執行JS腳本,否則火線報告在Jenkins中的展示會錯亂。

    前往系統管理->腳本命令行,在文本框中輸入System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")運行按鈕。

  5. 此時回到我們的項目CodeScan,點擊立即構建,構建完成后就可以點擊HTML Report欄直接查看火線報告了。

  6. Jenkins中的火線結果報告。火線將比較嚴重的問題,例如安全類問題列為最高級別Block級別 ,內存泄露問題列為風險級別,代碼規范類問題(阿里Java規約)列為警告和優化級別。更多級別詳情可參考火線官網的規則文檔。

  7. 點擊問題詳情列表欄,可以看到問題的詳情。點擊每一行最右側的加號圖標,可以看到錯誤的代碼片段。

  8. 在Search欄輸入p3c關鍵字,可以過濾出所有阿里巴巴開發手冊(P3C)的規則發現的問題。

寫在最后:

非常感謝阿里開源的Java開發規約(P3C項目),在靜態代碼掃描的代碼規范方向,一直以來都沒有一個統一的標准,開發人員們對於代碼規范的理解和掌握能力參差不齊。在大廠的帶頭作用下統一化標准化之后,開發人員們更容易去認可靜態代碼掃描在代碼規范方向的檢測結果。

同時,火線(Fireline)也一直致力於靜態代碼掃描方向的研究,我們的主攻點是安卓代碼中的安全類問題和內存泄露問題,也是因為這兩類問題從開發人員角度來看,是更受關注和重視的。

另外,目前火線除了新上線的Jenkins插件,還有嵌入在開發人員編碼IDE中的Android Studio插件,歡迎各位推薦給開發人員使用,讓我們可以在全流程中保障代碼的質量:開發編寫代碼環節(Android Studio插件)-> 代碼編譯打包環節(Jenkins插件)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM