Jenkins整合SonaQube
具体的流程如下:

安装SonarQube Scanner插件

添加SonarQube凭证


Jenkins进行SonarQube配置
Manage Jenkins->Configure System->SonarQube servers

Manage Jenkins->Global Tool Configuration

SonaQube 关闭审查结果上传到SCM功能

在项目添加SonaQube代码审查(非流水线项目)
添加构建步骤:

正常的项目,没有问题

错误的代码
package com.topcheer; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * */ public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //模拟代码错误 int i = 100/0; //模拟冗余代码 int a = 100; a = 200; resp.getWriter().write("hello Servlet!"); } }


在项目添加SonaQube代码审查(流水线项目)
1)项目根目录下,创建sonar-project.properties文件

# must be unique in a given SonarQube instance sonar.projectKey=web_demo_pipeline # this is the name and version displayed in the SonarQube UI. Was mandatory sonar.projectName=web_demo_pipeline sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on # This property is optional if sonar.modules is set. sonar.sources=. sonar.exclusions=**/test/**,**/target/** sonar.java.source=1.8 sonar.java.target=1.8 # Encoding of the source code. Default is default system encoding sonar.sourceEncoding=UTF-8

结果:


浙公网安备 33010602011771号