SonarQube Postgres

Posted 笨小孩@GF 知行合一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SonarQube Postgres相关的知识,希望对你有一定的参考价值。

  • 简介
    官网:
    Code Quality and Code Security | SonarQubeCatch bugs and vulnerabilities in your app, with thousands of automated Static Code Analysis rules.https://www.sonarqube.org/DockerHub:Docker Hubhttps://hub.docker.com/_/sonarqube

    Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

  • 工作原理

    SonarQube 并不是简单地将各种质量检测工具的结果(例如 FindBugs,PMD 等)直接展现给客户,而是通过不同的插件算法来对这些结果进行再加工,最终以量化的方式来衡量代码质量,从而方便地对不同规模和种类的工程进行相应的代码质量管理。 SonarQube 在进行代码质量管理时,会从图 1 所示的七个纬度来分析项目的质量。

    SonarQube 可以支持 25+ 种编程语言,针对不同的编程语言其所提供的分析方式也有所不同: 对于所有支持的编程语言,SonarQube 都提供源了代码的静态分析功能; 对于某些特定的编程语言,SonarQube 提供了对编译后代码的静态分析功能,比如 java 中的 class file 和 jar 和 C# 中的 dll file 等; 对于某些特定的编程语言,SonarQube 还可以提供对于代码的动态分析功能,比如 java 和 C# 中的单元测试的执行等。

  • 远程客户机可以通过各种不同的分析机制,从而将被分析的项目代码上传到 SonarQube server 并进行代码质量的管理和分析,SonarQube 还会通过 Web API 将分析的结果以可视化、可度量的方式展示给用户。

  • 使用 Docker 方式安装

  • 首先配置安装好Docker
  • 优化系统
    sysctl -w vm.max_map_count=524288
    sysctl -w fs.file-max=131072
    ulimit -n 131072
    ulimit -u 65536
  •  安装数据库 postgres

    docker run --name postgres --restart=always -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres:latest
  • 创建数据目录

    mkdir -p /opt/sonarqube/data,logs,conf,extensions
    chown -R 1000. /opt/sonarqube

  • 安装 sonarqube

    docker run --name sonar --link postgres --restart=always \\
    -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar \\
    -e SONARQUBE_JDBC_USERNAME=sonar \\
    -e SONARQUBE_JDBC_PASSWORD=sonar \\
    -v /opt/sonarqube/logs:/opt/sonarqube/logs \\
    -v /opt/sonarqube/data:/opt/sonarqube/data \\
    -v /opt/sonarqube/conf:/opt/sonarqube/conf \\
    -v /opt/sonarqube/extensions:/opt/sonarqube/extensions \\
    -p 9000:9000 -d sonarqube:latest

  • 打开浏览器 访问 http://YOUIP:9000     http://192.168.1.61:9000/
  • 默认用户名密码: admin/admin
  • 首次登陆会要求更改密码
  • 登陆后的界面
  • 安装常用插件: Chinese pack、checkstyle、findbugs、pmd




  • 使用

    在maven项目中执行如下命令 

    mvn clean install sonar:sonar
  • k8s 中搜索 插件 sonarqube 安装即可

以上是关于SonarQube Postgres的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube Postgres

Kubernetes 部署SonarQube

sonarqube代码核查+jenkins构建判断

sonarqube代码核查+jenkins构建判断

sonarqube代码核查+jenkins构建判断

安全测试-代码质量扫描 SonarQube