Docker搭建Sonar检测代码质量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cc_want/article/details/84139761

1,安装postgres数据库

docker pull postgres

2,安装sonarqube

docker pull sonarqube

3,启动postgres

docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -d postgres

4,启动sonarqube

docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d sonarqube

5,打开测试

在浏览器中输入

http://localhost:9000

即可看到如图所示以下页面

中文语言插件安装方法请参考:

https://blog.csdn.net/cc_want/article/details/84141084

6,使用

打开IDEA,使用Spring Initiailer创建一个新的Spring boot的测试项目,来验证一下

编写一个TestController测试类,在此类中,我们故意暴露N个异常

package com.example.sonar;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 测试
 * Created by ccwant on 2018-11-16.
 */
@Controller
public class TestController {

    @RequestMapping("/test")
    @ResponseBody
    public String test() {
        //这里定义一个未使用的变量
        int s = 0;

        //这里定义一个数组,让它抛出异常
        int[] ts = new int[1];
        ts[5] = 1;

        //这里定义一个空指针异常
        String nu = null;
        nu.toString();

        //这里测试,打印100个Hello
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 100; i++) {
            list.add(i+" Hello <br>");
        }
        return Arrays.toString(list.toArray());
    }


}

新建一个maven run配置,在comand line中写入

sonar:sonar

然后选择sonar配置,并点击右边绿色小箭头,初次运行sonar命令执行时间可能略长

运行成功后,我们看到控制台的输出

控制台显示BUILD SUCCESS即执行成功,然后我们点击控制台给出的连接地址,或手动访问localhost:9000就可以看到代码分析的详细情况

猜你喜欢

转载自blog.csdn.net/cc_want/article/details/84139761