Sonar 配置
1.点击右上角的 创建新项目
2.创建上传令牌
3.查看参考命令
Jenkins 配置
第一次使用
需要在 Jenkins 任务执行机器的 Maven settings.xml 配置插件和服务器地址,参考官方教程(参考命令图里的“Maven扫描器官方文档”): https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/
查看 maven 位置
代码语言:javascript复制mvn -version
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
Java version: 1.8.0_242, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"
下载 GitLab 插件略
Jenkins 任务
创建 自由风格的项目,设置拉取代码 略
jenkins 构建任务配置
sonar 不会创建 class 文件夹,可以暂时配置成 sonar 文件夹避免报错 如果多个项目用不同的setting可以用 -s 定义
代码语言:javascript复制 -Dsonar.java.binaries=target/sonar
-s /usr/share/maven/conf/settings-A.xml
配置GitLab提交代码时触发任务
拷贝 GitLab webhook URL
配置GitLab提交时触发
Secret token
打开 GitLab 项目配置
配置到GitLab
保存并测试效果
效果图
效果图-指标
典型用法
右上角搜索框搜索自己动过的文件,重点关注虫子标志的地方。 或者在问题中使用过滤器筛选作者是自己的部分:
过滤器
扫描前端项目
第一次使用需安装 SonarScanner: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/ 解压添加到环境变量后授权
代码语言:javascript复制chmod 755 .../sonar-scanner-4.3.0.2102-linux/bin/sonar-scanner
chmod 755 .../sonar-scanner-4.3.0.2102-linux/bin/sonar-scanner-debug
chmod 755 .../sonar-scanner-4.3.0.2102-linux/jre/bin/java
# 否则会报如下错误,读取的并不是 JAVA_HOME 而是目录内的 jre
# Could not find 'java' executable in JAVA_HOME or PATH
SVN 项目常见问题
Jenkins 拉取 svn 不是最新
在路径最后加 @HEAD
E170001: Authentication required
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar (default-cli) on project project-name: Error when executing blame for file xxx.java: svn: E170001: Authentication required for 'svn://ip:prot hash' -> [Help 1]
SVN blame 报错解决
配置技巧
质量配置
修改标识