jenkins+sonar 持续集成检测代码质量

 

一、jenkins-->Manage Plugins:安装插件 SonarQube Scanner for Jenkins

二、jenkins-->Configure System:配置 SonarQube servers

1)先在 sonarQube 平台创建 token,用来配置 jenkins 登录 sonarQube 

2)然后在 jenkins 的 Configure System 配置 Name、Server URL、Server authentication token

 3)添加 token

 

 

三、jenkins-->Global Tool Configuration:配置 SonarQube Scanner

四、新建一个 project 

五、配置 git

六、注意在如下选项前打钩

七、以 java 为例,构建添加两个构建步骤:Invoke top-level Maven targets 和 Execute SonarQube Scanner

若没有 Invoke top-level Maven targets 的,需要先在 Manage Plugins 中安装此插件 

 这段配置很重要

 Analysis properties:

sonar.projectKey=hr-server           # SonarQube中项目的唯一标识符。只要它是唯一的                
sonar.projectName=hr-server          # SonarQube中项目显示的名称
sonar.version=1.0                    # 版本号
sonar.sources=core/src                   # 源码目录
sonar.java.binaries=core/target/classes    # 编译后的文件目录
sonar.language=java                              # 编程语言
sonar.sourceEncoding=UTF-8
sonar.scm.disabled=true

八、构建完成之后,jenkins页面可以直接链接到 SonarQube

 

总结

  不同语言 Analysis properties 配置略有不同。以 java 和 python 为例,不同点:java 需指定编译后的文件目录(安装maven插件),而 python 只需指定源码目录即可。

Java:  

Analysis properties:

  • sonar.projectKey=hr-server              # SonarQube中项目的唯一标识符。只要它是唯一的                
  • sonar.projectName=hr-server          # SonarQube中项目显示的名称
  • sonar.version=1.0                            # 版本号
  • sonar.sources=core/src                   # 源码目录
  • sonar.java.binaries=core/target/classes    # 编译后的文件目录
  • sonar.language=java                              # 编程语言
  • sonar.sourceEncoding=UTF-8
  • sonar.scm.disabled=true

Python:

 Analysis properties:

  • sonar.projectKey=AutomationApiTest          # SonarQube中项目的唯一标识符。只要它是唯一的
  • sonar.projectName=AutomationApiTest      # SonarQube中项目显示的名称
  • sonar.projectVersion=1.0                            # 版本号
  • sonar.sources=.                     # 源码目录
  • sonar.language=py               # 编程语言
  • sonar.sourceEncoding=UTF-8          
  • sonar.scm.disabled=true
原文地址:https://www.cnblogs.com/shenh/p/13525602.html