zoukankan      html  css  js  c++  java
  • Linux 安装SonarQube

     
     
     
     
     
     

    1、在安装SonarQube 之前需要先了解一下它是做什么的

      SonarQube助力于让所有开发人员编写更干净、更安全的代码

      SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持Java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。

      官网:https://www.sonarqube.org/

      https://www.shcsinfo.com/sonarqube/

      Docker镜像库:https://hub.docker.com/_/sonarqube/

    2、最新版本的一些注意点

      1、新版的SonarQube(7.9+)只支持以下数据库:
      Microsoft SQL Server、Oracle、PostgreSQL、H2 (默认的嵌入式数据库)
      注意不再支持MySQL,使用MySQL数据源启动会报错:
      Exception in thread "main" org.sonar.process.MessageException: Unsupported JDBC driver provider: mysql

      2、新版SonarQube没有/opt/sonarqube/conf目录了,不需要再做数据卷映射,否则启动报错。

      3、SonarQube内置了ElasticSearch,需要调整默认的vm.max_map_count信息,不然启动会报错:
      ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count
      在宿主机中执行以下命令: 摘自  https://hub.docker.com/_/sonarqube/

    sysctl -w vm.max_map_count=262144
    sysctl -w fs.file-max=65536
    ulimit -n 65536
    ulimit -u 4096

    以上是临时修改如果想永久修改则

    vim /etc/sysctl.conf   #(需要是root账户)
    
    #文件最后添加一行: 
    
    vm.max_map_count=262144
    fs.file-max=65536
    
    #sysctl -p  重启生效
    
    sysctl -p

    3、安装 PostgreSQL 

    1、下面以数据库PostgreSQL 作为数据库,先安装PostgreSQL , 这里我使用的是 本地安装数据库 参照 https://www.cnblogs.com/ningy1009/p/14467751.html 进行安装 

    2、也可以使用docker 安装 postgresql

    (1)拉取pg的docker镜像

    docker pull postgres:latest

    (2)创建一个PostgreSQL Docker容器

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

    4、使用Docker安装SonarQube

    (1)、拉取Sonar Qube 镜像

    docker pull sonarqube:latest

    (2)创建一个Sonar Qube Docker容器(注意修改替换自己部署的数据库连接) 注:9000是容器内项目端口,9001是映射物理机改项目端口,可以根据自己的情况调整

    docker run --name sonarqube -d -p 9001:9000 -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://ip:5432/sonar sonarqube

    (3)、防火墙添加9000  9001 端口

     firewall-cmd --permanent --add-port=9000/tcp
    
    
     firewall-cmd --permanent --add-port=9001/tcp

     firewall-cmd --reload
     iptables -nL

     

    访问:http://ip:9001 发现访问失败

    这里必须先创建sonar 用户和数据库才可访问成功

    [root@kycxtest121 data]# su - postgres
    上一次登录:二 3月  2 14:24:42 CST 2021pts/0-bash-4.2$ psql -U postgres
    psql (13.2)
    输入 "help" 来获取帮助信息.
    
    postgres=# CREATE USER sonar WITH PASSWORD 'sonar';  #创建用户
    CREATE ROLE
    
    create database sonar;创建sonar数据库
    
    postgres=# alter role sonar createdb; #给sonar授权
    ALTER ROLE
    postgres=# alter role sonar superuser;#给sonar授权
    ALTER ROLE 

    postgres
    =# alter role sonar createrole; #给sonar 授权

    ALTER ROLE

    postgres
    =# alter database sonar owner to sonar; #更改sonar 数据库拥有者(否则sonarqube链连接失败)

    添加完数据库后重启 容器

    5、再次访问发现访问成功,默认用户名和密码 admin/admin

     6、安装中文插件重启项目

     重启后即可看到中文界面

     7、创建项目并检测项目代码问题

     

  • 相关阅读:
    POJ 1062 坑爹的聘礼(枚举等级差选择性找边)
    c++ string函数详细返回值及用法!
    POJ 2240 利率变权值 Floyd变乘法
    POJ 1797 最大运载量
    API code
    编程题目的讨论
    C语言位运算符:与、或、异或、取反、左移和右移
    &与&& C语言
    反思
    CreateWindow的出错解决
  • 原文地址:https://www.cnblogs.com/ningy1009/p/14463539.html
Copyright © 2011-2022 走看看