国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Sonar】使用SonarQube檢測Vue項目代碼

這篇具有很好參考價值的文章主要介紹了【Sonar】使用SonarQube檢測Vue項目代碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文以Vue項目為例,介紹了如何配置Sonarqube檢測工具環(huán)境

GitHub倉庫

環(huán)境配置

確認(rèn)環(huán)境依賴

https://docs.sonarqube.org/latest/requirements/requirements/

sonarqube運行依賴Java環(huán)境

sonaqube掃描前端代碼,vue.js,前端,javascript

推薦Java 11

Sonarqube支持連接數(shù)據(jù)庫輸出檢測結(jié)果,但目前涉及的功能中并未使用到數(shù)據(jù)庫

安裝本體

  1. 下載

    https://www.sonarqube.org/downloads/

    版本:本教程使用Community Edition 9.6,8.9.x LTS版本也可

  2. 初始化

    1. 運行sonar

      以windows環(huán)境為例,啟動文件在以下目錄

      sonaqube掃描前端代碼,vue.js,前端,javascript

      出現(xiàn)以下語句即為啟動成功

      sonaqube掃描前端代碼,vue.js,前端,javascript

    2. 啟動成功后,訪問以下host:

      http://localhost:9000/
      
    3. 登陸,用戶創(chuàng)建

      首次登陸,默認(rèn)用戶是admin,密碼是admin

      sonaqube掃描前端代碼,vue.js,前端,javascript

      首次登錄后,會要求更改密碼,與初始密碼不能一致

      進入界面即可

下載sonar-scanner

  1. 下載

    https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

    sonaqube掃描前端代碼,vue.js,前端,javascript

  2. 配置環(huán)境變量

    1. 添加系統(tǒng)變量SONAR_RUNNER_HOME

      sonaqube掃描前端代碼,vue.js,前端,javascript

    2. 添加path變量

      sonaqube掃描前端代碼,vue.js,前端,javascript

    3. Check一下:

      在CMD中,運行:

      sonar-scanner -v
      

      sonaqube掃描前端代碼,vue.js,前端,javascript

安裝插件

sonar插件的安裝方法是將<插件名稱>.jar文件放在以下目錄:

<你的sonar根目錄>\extensions\plugins

然后重新啟動sonar

附:官方插件列表https://docs.sonarqube.org/latest/instance-administration/plugin-version-matrix/

sonaqube掃描前端代碼,vue.js,前端,javascript

中文包

官網(wǎng):https://github.com/xuhuisheng/sonar-l10n-zh/releases

下載jar文件后放在插件目錄即可

PDF生成插件

最新版本:https://gitee.com/zzulj/sonar-pdf-plugin/releases/tag/v4.0.0

下載jar文件后放在插件目錄即可

注:官網(wǎng)說明中最新支持到8.9.1,但是實際上9.6版本也可以正常使用

運行測試

創(chuàng)建項目

在創(chuàng)建項目中,選擇Mannual,輸入自定義的項目名稱和key

sonaqube掃描前端代碼,vue.js,前端,javascript

在這一步完成后,該項目就已經(jīng)創(chuàng)建成功

創(chuàng)建測試配置文件

打開要測試項目的根目錄

在要測試的目錄下,創(chuàng)建sonar的配置文件sonar-project.properties

#sonarqube服務(wù)器地址,默認(rèn)為9000
sonar.host.url=http://localhost:9000
#sonarqube用戶名
sonar.login=<替換為你的用戶名>
#sonarqube密碼
sonar.password=<替換為你設(shè)置的密碼>
#項目唯一標(biāo)識(不能出現(xiàn)重復(fù))
sonar.projectKey=<替換為你項目的key>
#項目名稱
sonar.projectName=<替換為你的項目名稱>
#源代碼目錄
sonar.sources=<你的源碼目錄>
# 用逗號分割來指定多個目錄
# sonar.sources=src, tests
# 測試代碼目錄
sonar.tests = <你的測試代碼目錄>
#語言
sonar.language=js
# sonar.language=javascript
#源代碼文件編碼
sonar.sourceEncoding=UTF-8

# 更多參數(shù):https://docs.sonarqube.org/latest/analysis/analysis-parameters/

請注意內(nèi)容的替換

更多配置參數(shù):https://docs.sonarqube.org/latest/analysis/analysis-parameters/

運行scanner

在根目錄下運行:

sonar-scanner

等待掃描完畢,打開9000就可以查看掃描結(jié)果

sonaqube掃描前端代碼,vue.js,前端,javascript

sonaqube掃描前端代碼,vue.js,前端,javascript

報告生成

在已經(jīng)進行測試的項目中,選擇More下的Download Pdf Report即可

sonaqube掃描前端代碼,vue.js,前端,javascript

報告樣本見leafletDemo.pdf

sonar規(guī)則

sonar為項目特制規(guī)則集

參考資料:https://sqa.stackexchange.com/questions/24734/how-to-deactivate-a-rule-in-sonarqube/36023#36023

說明:

  • sonar為每一種語言預(yù)定義了檢查規(guī)則集(即Quality Profile)
  • 在為項目運行檢查的時候,sonar-scanner為當(dāng)前項目綁定默認(rèn)的Quality Profile
  • 因此如果需要手動編輯生效和不生效的規(guī)則,需要自主新建一個Quality Profile,并設(shè)置為當(dāng)前項目的默認(rèn)Quality Profile

操作流程:

  1. 新建自定義Quality Profile

    打開Quality Profiles標(biāo)簽,選擇要自定義Profile的語言

    點擊Copy,復(fù)制一份默認(rèn)規(guī)則 (默認(rèn)規(guī)則不可編輯

    為新規(guī)則集起一個好聽的名字

    sonaqube掃描前端代碼,vue.js,前端,javascript

  2. 編輯自定義的規(guī)則集

    進入新規(guī)則集編輯的入口可以有多個,可以這么進入:

    sonaqube掃描前端代碼,vue.js,前端,javascript

    sonaqube掃描前端代碼,vue.js,前端,javascript

    也可以這么進入(使用rules標(biāo)簽的篩選面板):

    sonaqube掃描前端代碼,vue.js,前端,javascript

    點擊右側(cè)的Activate/Disactivate就可以指定生效或者不生效的規(guī)則

  3. 將新規(guī)則集指定為項目的默認(rèn)規(guī)則集

    在項目頁面,打開項目設(shè)置的下拉框

    sonaqube掃描前端代碼,vue.js,前端,javascript

    更換默認(rèn)規(guī)則

    sonaqube掃描前端代碼,vue.js,前端,javascript

    在項目下,重新運行sonar-scanner,新規(guī)則即可生效

sonar編輯規(guī)則

首先,要編輯規(guī)則,需要確保目前用戶具有權(quán)限

在administration-security-global permission中,確認(rèn)兩個權(quán)限被勾選

sonaqube掃描前端代碼,vue.js,前端,javascript

sonar對預(yù)定義規(guī)則的編輯自由度較為有限,僅支持以下編輯:

  • 為規(guī)則擴充描述

    sonaqube掃描前端代碼,vue.js,前端,javascript

  • 為規(guī)則編輯tag標(biāo)簽

    sonaqube掃描前端代碼,vue.js,前端,javascript

    附:預(yù)定義規(guī)則標(biāo)簽?zāi)夸?/p>

    https://docs.sonarqube.org/latest/user-guide/built-in-rule-tags/

sonar新建自定義規(guī)則

簡單情況

簡單情況下,sonar只支持從已有模板中派生規(guī)則,自由度較差

目前sonar支持自定義規(guī)則的模板有:(JS、TS、HTML、XML

sonaqube掃描前端代碼,vue.js,前端,javascript

基于這些模板通常只能實現(xiàn)一些簡單的錯誤檢查,如對符合某正則表達式的注釋的檢查

案例:見demo

通過插件獲取規(guī)則

使用一些規(guī)則插件,可以獲取更多規(guī)則

官方給的插件列表中主要針對Java,為前端相關(guān)的規(guī)則插件基本不存在

在此僅提供獲取更多規(guī)則的一條思路

自主編寫代碼規(guī)則

請見:https://docs.sonarqube.org/latest/extend/adding-coding-rules/

及:https://docs.sonarqube.org/latest/analysis/generic-issue/

(研究中

附1:為VSCode配置sonar環(huán)境

安裝sonarlint插件

在VSCode插件頁搜索Sonarlint即可

sonaqube掃描前端代碼,vue.js,前端,javascript

為vscode連接sonarqube

見https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode#connected-mode

附2:sonar對Vue文件的支持

關(guān)于Sonar對Vue的支持,官方并沒有進行詳細(xì)的說明,僅在介紹頁提到了支持

sonaqube掃描前端代碼,vue.js,前端,javascript

因此為了測試Sonar檢查對Vue的支持,進行了以下實驗:

  • vue文件html部分

    sonaqube掃描前端代碼,vue.js,前端,javascript

    檢測成功

  • vue文件script部分

    sonaqube掃描前端代碼,vue.js,前端,javascript

    檢測成功

  • vue文件style部分

    sonaqube掃描前端代碼,vue.js,前端,javascript

    檢測成功

因此說明sonar對vue文件三個部分均可以正常檢測

附3:sonar規(guī)則不起效的原因

在demo的初步掃描中,switch嵌套的問題似乎并沒有被檢查出來

sonaqube掃描前端代碼,vue.js,前端,javascript

可能原因:

  • 錯誤的檢查是逐步的,需要改正現(xiàn)有錯誤以后才能進一步發(fā)現(xiàn)其他錯誤 ×

  • 相關(guān)的rule沒有activate √

    默認(rèn)情況下,switch嵌套的檢查未被activate

    sonaqube掃描前端代碼,vue.js,前端,javascript

  • 重新運行后,錯誤被檢查出來了
    sonaqube掃描前端代碼,vue.js,前端,javascript文章來源地址http://www.zghlxwxcb.cn/news/detail-670142.html

到了這里,關(guān)于【Sonar】使用SonarQube檢測Vue項目代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Azure Devops集成 SonarQube檢測代碼質(zhì)量

    Azure Devops集成 SonarQube檢測代碼質(zhì)量

    SonarQube 是一個用于代碼質(zhì)量管理的開源平臺,用于管理源代碼的質(zhì)量。同時 SonarQube 還對大量的持續(xù)集成工具提供了接口支持,可以很方便地在持續(xù)集成中使用 SonarQube. 通過插件形式,可以支持包括 Java,C#,C/C++、PL/SQL、Cobol、JavaScrip、Groovy、Ruby 、python等二十五種編程語言的代

    2024年01月16日
    瀏覽(27)
  • DevOps之Jenkins 集成 SonarQube 、Gitlab實現(xiàn)代碼自動提交質(zhì)量檢測

    DevOps之Jenkins 集成 SonarQube 、Gitlab實現(xiàn)代碼自動提交質(zhì)量檢測

    實驗中相應(yīng)服務(wù)的安裝步驟略 準(zhǔn)備相關(guān)服務(wù)器,并實現(xiàn)各個服務(wù)器的DNS解析 [root@ubuntu2204 ~]#cat /etc/bind/hailin.org.zone $TTL 1D @ IN SOA master admin ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS master master A 10.0.0.201 gitlab A 10.0.0.179 jenkins A 10.0.0.171 harbor A 10.0.0.201 sonarqube A 10.0.0.178 安

    2024年02月02日
    瀏覽(25)
  • sonar靜態(tài)掃描安全靶場webgoat

    sonar靜態(tài)掃描安全靶場webgoat

    docker安裝sonarqube,sonarQube靜態(tài)代碼掃描 - Joson6350 - 博客園 (cnblogs.com) 掃描結(jié)果? 意思是這里的else if語句不會執(zhí)行,因為ipAddressKnow為true,所以if 和else if的條件結(jié)果是一樣的。 提示資源沒有關(guān)閉,需要在finally中進行資源關(guān)閉,但是把資源關(guān)閉放到finally中由提示這樣寫不規(guī)范有

    2024年02月04日
    瀏覽(15)
  • 【代碼質(zhì)量管理開源平臺】sonar的安裝以及使用

    【代碼質(zhì)量管理開源平臺】sonar的安裝以及使用

    SonarQube是管理代碼質(zhì)量一個開放平臺,可以快速的定位代碼中潛在的或者明顯的錯誤,下面將會介紹一下這個工具的安裝、配置以及使用。 Sonar是一個用于代碼質(zhì)量管理的開源平臺,用于管理代碼的質(zhì)量,通過插件形式可以支持二十幾種語言的代碼質(zhì)量檢測,通過多個維度的

    2024年02月05日
    瀏覽(20)
  • SonarQube掃描常見Bug、漏洞修復(fù)整理(持續(xù)更新中)

    SonarQube掃描常見Bug、漏洞修復(fù)整理(持續(xù)更新中)

    這種提示是指可能存在空指針異常,需要增加空值檢測。 說明:未做非空校驗,可能產(chǎn)生空指針 解決方案:加上非空校驗 解決方式:先判斷或者先實例化,再訪問里面的屬性或者成員。 說明:int數(shù)運算最終再把結(jié)果轉(zhuǎn)為long將有可能產(chǎn)生溢出 說明:防止內(nèi)存泄露溢出,Thr

    2024年02月15日
    瀏覽(21)
  • sonar-scanner-Windows本地Python代碼檢查使用方法【免費下載sonar-scanner驗證有效】

    sonar-scanner-Windows本地Python代碼檢查使用方法【免費下載sonar-scanner驗證有效】

    背景介紹: sonar作為開源的代碼掃描工具,sonar-scanner是windows掃描器。SonarQube是一個開源的代碼質(zhì)量管理平臺,可以將?sonar-scanner掃描的結(jié)果進行分析。 公司有搭建SonarQube質(zhì)量管理平臺,支持本地掃描和gitlab集成掃描。現(xiàn)在需要將本地的代碼進行掃描,于是嘗試了Windows本地

    2024年02月09日
    瀏覽(27)
  • maven sonar 掃描單元測試覆蓋率為0,但是單元測試數(shù)不為0

    maven sonar 掃描單元測試覆蓋率為0,但是單元測試數(shù)不為0

    最初配置如下: sonar 掃描后的單元測試覆蓋率為0。但是但與測試數(shù)量不為0. 而配置的 sonar : 單元測試數(shù)基于 maven-surefire-plugin 插件 單元測試覆蓋率基于 jacoco-maven-plugin 插件。 發(fā)現(xiàn) maven 執(zhí)行后沒有 jacoco.exec 文件。導(dǎo)致 sonar 單元測試覆蓋率為 0。并且沒有下面的 jacoco 結(jié)果文

    2024年02月11日
    瀏覽(16)
  • SonarQube 9.x集成Jenkins生成PDF掃描報告并通過郵件附件的方式發(fā)送;

    SonarQube 9.x集成Jenkins生成PDF掃描報告并通過郵件附件的方式發(fā)送;

    前面我們在Kubernetes中部署了SonarQube并與Jenkins集成掃描了前后端代碼; 部署SonarQube鏈接 SonarQube與Jenkins集成掃描前后端代碼鏈接 接下來記錄一下如何將掃描報告通過郵件附件的形式推送到相應(yīng)人的郵箱; https://gitee.com/zzulj/sonar-pdf-plugin/releases https://gitee.com/zzulj/sonar-pdf-plugin/r

    2024年02月07日
    瀏覽(30)
  • Windows配置SonarQube代碼審查工具詳細(xì)步驟(附帶IDEA SonarLint插件使用)

    Windows配置SonarQube代碼審查工具詳細(xì)步驟(附帶IDEA SonarLint插件使用)

    本篇博客使用的SonarQube版本為9.8,注意 JDK 1.8已經(jīng)不能支持 Name Version DownLoad Link SonarQube 9.8 https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/ JDK 11 https://pan.quark.cn/s/06848544167c PostgreSQL 14.2 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 更多環(huán)境配置請參考:http

    2024年02月09日
    瀏覽(30)
  • vue項目安全漏洞掃描和修復(fù)

    vue項目安全漏洞掃描和修復(fù)

    npm audit? 是npm 6 新增的一個命令,可以允許開發(fā)人員分析復(fù)雜的代碼并查明特定的漏洞。 npm audit名稱執(zhí)行,需要包package.json和package-lock.json文件。它是通過分析 package-lock.json 文件,繼而掃描我們的包分析是否包含漏洞的。 npm audit命令將項目中配置的依賴項的描述提交到默認(rèn)注

    2024年02月06日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包