一、概述
安装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