【廣告】
SonarSource交付管道,
持續(xù)的交付和 DevOps 是眾所周知的和廣泛傳播的做法現(xiàn)在。人們普遍認(rèn)為, 重要的是組建偉大的團(tuán)隊(duì), 首先定義共同的目標(biāo), 然后選擇和整合適合于給定任務(wù)的工具。通常, 它是一個(gè)輕量級(jí)工具的混搭, 它們集成在一起建立連續(xù)的交付管道并支持 DevOps 的計(jì)劃。在這個(gè)博客文章中, 我們放大到了整個(gè)管道的一個(gè)重要部分, 這就是經(jīng)常被稱為連續(xù)檢查的學(xué)科, 它包括檢查代碼并在上面注入一個(gè)質(zhì)量門, 并顯示在達(dá)到質(zhì)量門后如何上傳工件。DevOps 的啟用工具包括詹金斯、SonarQube 和 Artifactory。
的用例你已經(jīng)知道質(zhì)量不能在事后被注入, 而是從一開始就應(yīng)該是過程和產(chǎn)品的一部分。作為一種常用的良好做法, 強(qiáng)烈建議您盡快檢查代碼并使結(jié)果可見。因?yàn)?SonarQube 是一個(gè)很好的選擇。但 SonarQube 不只是運(yùn)行在任何孤立的島嶼, 它是集成在一個(gè)輸送管道。作為管道的一部分, 代碼被檢查, 并且僅當(dāng)代碼根據(jù)定義的要求是好的, 換句話說: 它滿足質(zhì)量門, 被建立的工件被上傳到二進(jìn)制存儲(chǔ)庫管理器。
讓我們考慮下面的場(chǎng)景。其中一個(gè)繁忙的開發(fā)人員必須修復(fù)代碼, 并檢查對(duì)中央版本控制系統(tǒng)的更改。白天很長(zhǎng), 晚上很短, 而且對(duì)所有團(tuán)隊(duì)的承諾, 開發(fā)人員沒有檢查本地沙箱中代碼的質(zhì)量。幸運(yùn)的是, 有構(gòu)建引擎詹金斯作為一個(gè)單一的真理點(diǎn), 實(shí)現(xiàn)交付管道與其本地管道功能, 并作為一個(gè)方便的巧合 SonarQube 有支持詹金斯管道。
此更改將觸發(fā)管線的新運(yùn)行。哦不!生成管線中斷, 并且未進(jìn)一步處理更改。在下面的圖像中, 您會(huì)看到已定義的質(zhì)量門被忽略??梢暬怯烧步鹚顾{(lán)色海洋完成的。
01 PipelineFailedBlueOcean
SonarQube 檢驗(yàn)潛在的問題是什么?我們可以打開 SonarQube 的 web 應(yīng)用程序并深入查找。在 Java 代碼中, 顯然沒有將字符串文本放在右側(cè)。
02發(fā)現(xiàn)
在團(tuán)隊(duì)會(huì)議中, 決定將其定義為一個(gè)阻止程序, 并相應(yīng)地配置 SonarQube。此外, 建立了一個(gè) SonarQube 質(zhì)量門, 以打破任何建設(shè), 如果一個(gè)攔截qi被確定。現(xiàn)在讓我們快速查看代碼。是的, SonarQube 是對(duì)的, 下面的代碼段有問題。
03 FindingVisualizedInCode
我們不希望詳細(xì)討論所有使用的工具, 也涵蓋完整的詹金斯構(gòu)建工作將超出范圍。但有趣的提取這里的檢查方面是在詹金斯管道 DSL 中定義的以下階段:
配置. xml: SonarQube 檢查階段 ("SonarQube 分析") {withSonarQubeEnv ("聲納") {mvn 組織 sonarsource 掃描儀. maven: 聲納-maven-插件: 3.3. 0.603: 聲納 "-f 所有/pom" xml "-Dsonar projectKey = com. huettermann: 全部: 主" "-Dsonar" 登錄 = $ SONAR_UN "-Dsonar" 密碼 = $ SONAR_PW "-Dsonar" 語言 = java "-Dsonar。" 的 "-Dsonar。" 的 -Dsonar 測(cè)試. 夾雜物 = ** 測(cè)試 *** "-Dsonar. 排除** 測(cè)試 ***"}}用于運(yùn)行 SonarQube 分析的階段。允許選擇要與之交互的 SonarQube 服務(wù)器。運(yùn)行和配置掃描儀, 許多可用的選項(xiàng), 請(qǐng)檢查文檔。許多選項(xiàng)可用于集成和配置 SonarQube。請(qǐng)參閱文檔中的替代方案。同樣適用于其他覆蓋的工具。SonarQube 質(zhì)量門作為詹金斯管線階段的一部分, SonarQube 配置為運(yùn)行和檢查代碼。但這僅僅是第yi部分, 因?yàn)槲覀儸F(xiàn)在還想添加質(zhì)量門, 以打破構(gòu)建。下一階段正好涵蓋了這一點(diǎn), 請(qǐng)參閱下一片段。管道被暫停, 直到質(zhì)量門被計(jì)算,sonarqube安裝配置, 特別是 waitForQualityGate 步驟將暫停管道, 直到 SonarQube 分析完成并返回質(zhì)量門狀態(tài)。如果遺漏了質(zhì)量門, 則生成將中斷。
SonarSource
如果您想知道項(xiàng)目使用的內(nèi)部或外部庫,中國sonarqube安裝配置,則可能需要查看項(xiàng)目的內(nèi)容,中國sonarqube安裝配置,包括pom.xml文件。如果您使用SonarQube,則不再是這種情況,因?yàn)閹焓且环N組件,它會(huì)招募您的應(yīng)用程序所依賴的組件,并且比手動(dòng)搜索。
(以上是示例應(yīng)用程序的截圖)
也可以在任何儀表板上添加任何Widget(Widget是組成儀表板的組件),如下所示。
(以上是示例應(yīng)用程序的截圖)
問題向下鉆
只是被告知某事是錯(cuò)誤的,這里的分?jǐn)?shù)是多少錯(cuò)誤或不正確的東西,沒有幫助。一個(gè)更有建設(shè)性的反饋是,這里有什么問題,這是你可以做些什么來解決它。
問題鉆取是一個(gè)這樣的儀表板,我們可以找到這樣的信息或足以知道什么是錯(cuò)誤,以及如何去修復(fù)它(有時(shí))。它還存檔較舊的和封閉的問題,并通過給出各種嚴(yán)重程度來表明問題是多么糟糕,即阻止信息。
(以上是nemo.sonarsource.org上的示例應(yīng)用程序的截圖)
任何Dashboard頁面右上角的“管理信息中心”選項(xiàng)(如下)用于創(chuàng)建可以放置小部件的新的信息中心頁面。
同樣,每個(gè)“儀表板”頁面上的“配置”窗口小部件鏈接允許在“儀表板”頁面的任何位置添加,刪除或更改窗口小部件的位置。
(以上是Apache Comm Collection的截圖)
標(biāo)簽或詞云是一種非常受歡迎的概念,被大量用作可視化形式來傳達(dá)指標(biāo) - 如上所示,這是Apache Comm Collection庫的一個(gè)例證。
商業(yè)組件 - SQALE
SQALE是一個(gè)專有組件,社區(qū)版本不可用,盡管SonarQube的Nemo項(xiàng)目[07]提供了演示版本。 SQALE是一項(xiàng)技術(shù)債wu評(píng)估工具,代理商sonarqube安裝配置,更多細(xì)節(jié)可以在[08]找到。
類別檔案:SonARQUBE - PL / SQL
使用SonarQube進(jìn)行PL / SQL分析 - 評(píng)估質(zhì)量(3/3)
發(fā)表評(píng)論
PLSQL_TechnicalDebtLast在我們的系列文章中分析了使用SonarQube的PL / SQL代碼的質(zhì)量。
評(píng)估應(yīng)用程序的質(zhì)量不只是進(jìn)行代碼分析:任何人都可以做到這一點(diǎn)。質(zhì)量顧問的工作是基于以下問題:什么,為什么,如何,多少。
什么:分析結(jié)果。大小,復(fù)雜性和重復(fù)性,這是我們以前的帖子中看到的。我們檢查總體數(shù)字,還有平均和差異,以及有多個(gè)版本的時(shí)間趨勢(shì)。那么我們來看看主要違反jia做法的行為,主要側(cè)重于阻止和批評(píng)。
為什么這些結(jié)果:調(diào)查分析措施的原因,尋找結(jié)果的起源。
如何補(bǔ)救:提出行動(dòng)計(jì)劃。其實(shí),提出幾個(gè)建議。我們將在下面看到,我提出了短期,中期和長(zhǎng)期的不同計(jì)劃。
花費(fèi)多少:評(píng)估每個(gè)計(jì)劃的成本。繼續(xù)閱讀→
此條目發(fā)布于2014年3月10日由Jean-Pierre FAYOLLE發(fā)行的SonarQube - PL / SQL。
企業(yè): 蘇州華克斯信息科技有限公司
手機(jī): 13862561363
電話: 0512-62382981
地址: 蘇州工業(yè)園區(qū)新平街388號(hào)