代碼檢查工具sonarqube

sonar服務

拉取docker鏡像:

https://hub.docker.com/_/sonarqube

根據上述鏈接的介紹啟動服務,或

docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube

sonar掃描

基于maven的java掃描

在linux下掃描java

在~/.m2下新增文件settings.xml
加入如下內容:

<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://10.17.2.178:9000
                </sonar.host.url>
            </properties>
        </profile>
     </profiles>
</settings>

掃描代碼執行:
mvn sonar:sonar

普通代碼掃描

需要安裝sonar-runner
(注意:以前叫sonar-scanner,現在改名為sonar-runner)
可以參考:https://www.voyalab.com/2016/10/08/installing-sonarqube-scanner/
我修改為最新的:

wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
unzip sonar-runner-dist-2.4.zip
sudo mv sonar-runner-2.4 /opt/sonar/
sudo vim /opt/sonar/conf/sonar-runner.properties
host.url改為并取消注釋sonar.host.url=http://10.17.2.178:9000
sudo ln -s /opt/sonar/bin/sonar-runner /usr/bin/sonar-runner

掃描執行:
sonar-runner -Dsonar.projectKey=xxx -Dsonar.sources=.
(源碼文件夾如果有多個,用英文逗號隔開)

也可以設置配置,適合配置很少改變的場景,參考
https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

測試部的sonar地址:

http://10.17.2.77:9000
用戶名和密碼都是:admin

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容