將sonarqube指標集成到tfs構(gòu)建中 - 簡介
所需步驟概述
這里有很多步驟,有很多-,所以我將分解這幾個博客文章主要是:
使tfs輸出所需的測試和覆蓋結(jié)果文件。
設(shè)置您的項目使用聲納。
將“sonar runner”整合到您的構(gòu)建中。
所展示的解決方案-滿足我正在嘗試實現(xiàn)的目的,但您可能希望重新排列幾個步驟來適應您的場景。 將圍繞這些步驟進行一些討論,以幫助您了解我所做的任何決定,并提供一些背景,但如果您感興趣的是如何做到這一點,然后忽略此文本,只需按照步驟。
祝你好運與你的整合。
-部分 - 使tfs輸出所需的測試和覆蓋結(jié)果文件。
第2部分 - 設(shè)置您的項目使用聲納。
第3部分 - 將“sonar runner”整合到您的構(gòu)建中。
購買 sonarqube 作為測試自動化的門由琳達陳在 2017年4月13日 |4分鐘閱讀1sonarqube (原名聲納) 被廣泛用于各種項目的代碼管理工具, 提供-和提高源代碼的功能。此類功能還可用于測試自動化, 以量化測試-的, 因為自動檢測-的本質(zhì)是代碼。
測試自動化的 sonarqube 特性
為不同的利益相關(guān)者提供定制的度量標準每個項目都有不同的利益干系人, 如客戶、項目經(jīng)理、架構(gòu)師、開發(fā)人員和測試人員, 他們擁有完成項目的各種技術(shù)或知識。因此, 他們對項目的關(guān)注是多種多樣的。不同群體的利益干系人的度量標準是不同的, 這為查看 sonarqube 的價值提供了一個-的環(huán)境, 因為該工具為不同的用戶提供了定制的度量標準。 下表顯示了針對不同項目角色的 sonarqube 度量的一個-的示例。
支持項目的多種編程語言盡管用 java 編寫, sonarqube 可以在大約20多個不同的編程語言 (包括 java、python、c/c++) 中分析代碼?梢宰詣訖z測到不同的編程語言, 并調(diào)用相應的語言分析器。因此, 即使目標測試-由多種不同的編程語言組成, 聲納仍然能夠-、分析和創(chuàng)建有關(guān)代碼的報告。
使用行業(yè)標準 (代碼分析器) 提供測試規(guī)則在的圖片中, sonarqube 提供了行業(yè)規(guī)則模板, 用戶可以根據(jù)需要自定義規(guī)則。對于自動測試, 可以應用一堆規(guī)則。下面提供了示例規(guī)則:
除了檢查現(xiàn)有項目的源代碼,sonarsource/sonarqube分銷商, 為了進行自動測試, 聲納可能需要根據(jù)某些要求停用或更新一些規(guī)則。
示例規(guī)則可以刪除, 如下所示:
示例規(guī)則可以更新如下:
除了上面給出的特性, sonarqube 還具有諸如 devops 集成、聚合儀表板、時間機器等功能, 所有這些都可以幫助測試自動化項目變得更具可追溯性和可見性。
如何通過與數(shù)據(jù)庫 mysql 的集成來設(shè)置 sonarqube
設(shè)置 sonarqube 是很簡單的。但是, 不建議將嵌入在 sonarqube 中的默認數(shù)據(jù)庫 h2 用于生產(chǎn)用途, 因為它無法進行縮放。 為了-的維護和可伸縮性, 我們建議用 mysql 這樣的另一個數(shù)據(jù)庫替換 h2。下面是在 windows 平臺中為 sonarqube 設(shè)置 mysql 的一個示例。
前提
在您的計算機上安裝 java (oracle jre 8 開始或 openjdk 8 起)。步驟:
1.install. 用 mysql 建立數(shù)據(jù)庫
a. 從 并安裝, 然后啟動 mysql
b. 為聲納創(chuàng)建數(shù)據(jù)庫, 包括創(chuàng)建用于訪問數(shù)據(jù)庫的管理員帳戶。例如, 通過在 sql 下運行, 使用用戶帳戶聲納和密碼聲納創(chuàng)建名為聲納的數(shù)據(jù)庫:
sonarqube中的舊版代碼
雖然我不相信將數(shù)字放在源代碼上,sonarqube(以前稱為sonar)在開發(fā)過程中可能是一個非常有用的工具。它對您的團隊執(zhí)行一致的風格,已經(jīng)發(fā)現(xiàn)了幾個可能的錯誤,并且是一個-的工具:您可以瀏覽-行為,看看為什么某個表達式或代碼塊可能是一個問題。
為了-您的代碼庫保持一致狀態(tài),您還可以直接執(zhí)行代碼-檢入的任何-行為。其中一個問題是很多項目不是綠色項目你有很多現(xiàn)有的代碼。如果您的-號碼已經(jīng)-,很難判斷是否引入了新的-行為。
在這篇文章中,我將向您展示如何從現(xiàn)有代碼的零違反行為開始,而不用觸摸來源,jens schauder在他的-演講中使用legacy teams的靈感來啟發(fā)它。我們將根據(jù)文件中的行忽略所有-行為,因此如果有人觸及該-行為將再次顯示的文件,開發(fā)人員將負責修復舊版-行為。
關(guān)閉-插件
我們正在使用sonarqube的關(guān)閉-插件?梢詾閱栴}配置不同的排除模式。您可以為代碼塊定義正則表達式,這些代碼塊應該被忽略,或者在所有文件或行基礎(chǔ)上停用-。
對于現(xiàn)有代碼,您想忽略某些文件和行的所有-。這可以通過在文本區(qū)域中插入這樣的方式來完成排除模式:
de.fhopf.a的kka.actor.indexingactor; pmd:signaturedeclarethrowsexception; [23]
這將排除在indexingactor類的第23行中拋出原始異常的-。再次分析代碼時,這種-將被忽略。
通過api檢索-
除了漂亮的儀表板之外,sonarqube還提供了一個可用于檢索項目-的api。如果您不希望查找代碼庫中的所有現(xiàn)有-行為,并手動插入,您可以使用它自動生成排除模式。所有這些-都可以在/ api /-找到,例如http://本地主機:9000 / api /違例。
我確定還有其他方法可以做,但是我使用jsawk來解析json響應(在ubuntu上,你必須安裝spidermonkey而不是默認的js解釋器。你必須自己編譯,而且我必須使用一個特定的版本。嘆了口氣)。
北京
上海
天津
重慶
河北
山西
內(nèi)蒙古
遼寧
吉林
黑龍江
江蘇
浙江
安徽
福建
江西
山東
河南
湖北
湖南
廣東
廣西
海南
四川
貴州
云南
西藏
陜西
甘肅
青海
寧夏
新疆
本站圖片和信息均為用戶自行發(fā)布,用戶上傳發(fā)布的圖片或文章如侵犯了您的合法權(quán)益,請與我們聯(lián)系,我們將及時處理,共同維護誠信公平網(wǎng)絡(luò)環(huán)境!
ICP備案:滇ICP備13003982號 滇公網(wǎng)安備 53011202000392號
信息侵權(quán)/舉報/投訴處理
版權(quán)所有 ©100招商網(wǎng) 防騙須知 緩存時間:2025/7/27 1:48:05