sonarqube SonarGo 搭建和golang代碼檢視的使用教程

先說下代碼檢視的好處

  • 讓開發(fā)人員得到成長
  • 將代碼質(zhì)量提升形成可量化的數(shù)據(jù)
  • 提前發(fā)現(xiàn)bug節(jié)約成本

sonarqube docker搭建方法

本文介紹的搭建方法是使用docker的形式搭建,簡單易學(xué)

1.拉取鏡像,默認(rèn)都是從 DockerHub 拉取
  • docker pull postgres 拉取數(shù)據(jù)庫
  • docker pull docker.io/lu566/sonarqube-zh:7.7 拉取sonarqube中文版
2.啟動鏡像
  • 啟動 postgres
docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres
  • 啟動 sonarqube 中文版
docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d docker.io/lu566/sonarqube-zh:7.7

至此環(huán)境已搭建完畢

使用

瀏覽器訪問 http://localhost:9000 用admin/admin 登錄

image.png

golang配置與使用

使用參考:https://docs.sonarqube.org/display/PLUG/SonarGo

1.在sonarqube頁面上新建項目,如圖創(chuàng)建完項目后按照圖示紅色框內(nèi)先下載掃描工具,再復(fù)制掃描命令


image.png

2.在待掃描的項目根目錄下創(chuàng)建文件 sonar-project.properties,文件內(nèi)容如下:
簡單:

sonar.sources=.
sonar.exclusions=**/*_test.go,**/vendor/**

sonar.language=go
sonar.tests=.
sonar.test.inclusions=**/*_test.go
sonar.test.exclusions=**/vendor/**

復(fù)雜:

sonar.host.url=http://172.31.16.127:9000
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
sonar.projectKey=uchains
sonar.projectName=uchains
sonar.projectVersion=1.0
sonar.golint.reportPath=report.xml
sonar.coverage.reportPath=coverage.xml
sonar.coverage.dtdVerification=false
sonar.test.reportPath=test.xml
sonar.sources=./
sonar.sources.inclusions=**    /**    .go
sonar.sources.exclusions=**    /**    _test.go,**    /vendor/   *   .com/   ** ,**  /vendor/*  .org/**   ,**   /vendor/**
sonar.tests=./
sonar.test.inclusions=**   /**   _test.go
sonar.test.exclusions=**  /vendor/*  .com/**  ,**  /vendor/* .org/**  ,** /vendor/**

3.在項目目錄下執(zhí)行復(fù)制的命令

sonar-scanner \
  -Dsonar.projectKey=demo \
  -Dsonar.sources=. \
  -Dsonar.host.url=http://172.31.16.127:9000 \
  -Dsonar.login=a931bfa90418d4b4bceec6b4714426e619263304

執(zhí)行效果圖(只截圖了結(jié)尾部分):


image.png

如上所示,成功后登錄sonarqube頁面就能看到如下分析概覽,可以點進(jìn)去查看詳細(xì)


image.png

//如遇到問題歡迎留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容