一、概述
安裝SonarQube,參考鏈接:
https://www.cnblogs.com/xiao987334176/p/12011623.html
安裝SonarQube Scanner,參考鏈接:
https://www.cnblogs.com/xiao987334176/p/12022294.html
二、安裝插件
在可選插件中搜索 SonarQube 並安裝它
三、插件配置
創建sonarqube token
登錄到sonarqube服務器,http://192.168.31.7:9000
點擊右側賬號圖標-->我的賬號-->安全
輸入 jenkins,點擊生成。
注意:這個輸入框的字符串,可以隨意。這里表示給jenkins使用的!切記要保存好!
創建jenkins token
點擊 jenkins -->憑據 --> 系統 --> 全局憑據--> 添加憑據
輸入在sonarqube中生成的token
配置 SonarQube Server
進入 Jenkins 系統管理 – 系統設置,配置 SonarQube Server 信息
由於 SonarQube 在本機運行,直接就是 http://localhost:9000
進入 Jenkins 系統管理 - Global Tool Configuration,配置 SonarQube Scanner
輸入安裝路徑
四、項目配置
java
使用構建后步驟進行代碼分析需要使用 Maven 對代碼進行編譯,所以需要有 Maven 的配置文件,例如 pom.xml。
為新建的 Jenkins 項目配置構建后操作步驟,在構建后步驟配置窗口中需要填入 Maven 的構建配置 xml 文件
配置構建后操作步驟
sonar.projectKey=$JOB_NAME sonar.projectName=$JOB_NAME sonar.language=java sonar.login=admin sonar.password=admin sonar.java.binaries=$WORKSPACE/smr-platform-service/smr-biz/target/classes
注意:sonar.java.binaries 表示java的源碼路徑
參數解釋:
Task to run 輸入框中輸入 scan,即分析代碼;
Path to project properties:可選擇的輸入框,可以指定一個 sonar-project.properties 文件,如果不指定則使用項目默認的 properties 文件;
Analysis properties:輸入一些配置參數傳遞給 SonarQube,這里的參數優先級高於 sonar-project.properties 文件里面的參數,所以可以在這里來配置所有的參數以替代 sonar-project.properties 文件
注:SonarQube Scanner配置可以直接在項目根目錄中創建一個文件sonar-project.properties,然后使用Path to project properties中指定屬性文件,或者直接在Analysis Properties中配置
Additional arguments:可以輸入一些附加的參數,示例中的-X指進入 SonarQube Scanner 的 Debug 模式,輸出更多的日志信息
查看分析結果
登錄到SonarQube,查看結果
python
sonar.projectKey=$JOB_NAME sonar.projectName=$JOB_NAME sonar.language=python sonar.login=admin sonar.password=admin
vue
#projectKey項目的唯一標識,不能重復 sonar.projectKey=$JOB_NAME sonar.projectName=$JOB_NAME sonar.projectVersion=1.0 sonar.sourceEncoding=UTF-8 sonar.modules=javascript-module sonar.login=admin sonar.password=admin # JavaScript module javascript-module.sonar.projectName=JavaScript Module javascript-module.sonar.language=js javascript-module.sonar.sources=. javascript-module.sonar.projectBaseDir=src
本文參考鏈接:
https://www.ibm.com/developerworks/cn/devops/1612_qusm_jenkins/index.html
https://www.jianshu.com/p/19af03f48c9a
https://blog.csdn.net/weixin_33895516/article/details/87947976