詳細安裝Sonarqube7.7教程

1. 下載

可以有很多種方式使用sonarqube分析,這裏列舉幾種:

  • 使用Maven命令分析
  • 使用IDEA插件
  • 使用Sonarqube Scanner掃描工具

博主這裏介紹第一種方式:

下載sonarqube-7.7

鏈接:https://pan.baidu.com/s/1NDY145lVGKWJOQnL3brHiw
提取碼:pt4h

博主使用環境是Windows,所以:
解壓後,運行\bin\windows-x86-64\StartSonar.bat

瀏覽器訪問http://localhost:9000
能夠成功訪問頁面即安裝成功:右側有登錄按鍵,默認用戶admin,密碼admin
在這裏插入圖片描述

2. 配置MySQL數據庫

注意再sonarqube-7.7下,MySQL的版本爲5.6<=x<8.0。

  • 使用root用戶登錄數據庫,創建數據庫和新用戶:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
flush privileges;
  • 設置sonarqube配置文件
    sonarqube-7.7\conf\sonar.properties

去掉前面的# 號,寫上用戶名和密碼:
在這裏插入圖片描述

  • 重啓sonarqube
    這一步博主不確定是否關閉其中一個還是所有都關閉,纔是真正的關閉了sonarqube,你可以挨個嘗試關閉:
    第一個:ctrl + c 關閉
    在這裏插入圖片描述
    第二個:sonarqube的界面有一個重啓選項,但是博主點擊重啓會卡死,你可以嘗試
    在這裏插入圖片描述
    第三個:任務管理器後臺服務,結束這些服務即可
    在這裏插入圖片描述

注意:
配置了MySQL後,可能下一次的啓動會出現這樣的情況,並且卡在這裏,訪問http://localhost:9000 提示需要升級數據庫:
在這裏插入圖片描述
解決辦法:
訪問:http://localhost:9000/setup,按照提示升級即可,然後按照上面的步驟重啓sonarqube。

同時,如果連接順利你可以在數據庫看到相關內容:
在這裏插入圖片描述

3. 配置Maven和項目

  • 在你Maven的安裝路徑下,settings.xml文件中添加如下內容:
    注意添加的位置(因爲博主有配置其他內容,行數可能不準確,注意找到對應爲止):
    在這裏插入圖片描述
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>

在這裏插入圖片描述

    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
            <sonar.host.url>
              http://localhost:9000
            </sonar.host.url>
        </properties>
    </profile>
  • 首先你需要有一個Maven項目(這裏就不演示了,並且確保裏面有運行代碼),在pom.xml 中添加內容:
	<build>
		<plugins>
			<plugin>
				<groupId>org.sonarsource.scanner.maven</groupId>
				<artifactId>sonar-maven-plugin</artifactId>
				<version>3.6.0.1398</version>
			</plugin>
		</plugins>
	</build>

項目根目錄或者resources目錄創建sonar-project.properties(不過感覺沒起作用啊),內容如下:

sonar-project.properties
# must be unique in a given SonarQube instance
# 改爲你自己的
sonar.projectKey=jindouyun

# --- optional properties ---

# defaults to project key
# 改爲你自己的
sonar.projectName=jindouyun
# defaults to 'not provided'
#sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Defaults to .
sonar.sources=src

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8

4. Maven命令運行

在項目路徑下運行:
有兩條命令,直接運行第二天命令即可出結果,但是無法分析出測試代碼覆蓋率,所以需要分別執行兩條命令:

不過,博主這裏用的是一個成品項目,執行第一條命令會卡死。。。。

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true

mvn sonar:sonar

執行第二條命令構建成功如下,訪問黃框內的鏈接:
在這裏插入圖片描述
你可以看到,其他信息已經分析出來,但是單元測試並沒有分析出來:
在這裏插入圖片描述

若有錯誤,請指正!

參考:
官網:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/
https://blog.csdn.net/weixin_40861707/article/details/82117232#commentBox
https://www.jianshu.com/p/e384595d0b14

完!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章