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

 

 结果:

posted @ 2020-02-01 17:54  天宇轩-王  阅读(412)  评论(0编辑  收藏  举报