zoukankan      html  css  js  c++  java
  • 代码质量管理 SonarQube 系列之 安装

    简介

    SonarQube 是一个开源的代码质量管理系统。

    功能介绍:

    • 15种语言的静态代码分析
      Java、JavaScript、C#、TypeScript、Kotlin、Ruby、Go、Scala、Flex、Python、PHP、HTML、CSS、XML和VB.NET
    • 检测代码 bugs 和 漏洞
    • 检查安全热点
    • 跟踪代码坏味道,并修复技术债务
    • 代码质量度量及历史变更记录
    • CI/CD 集成
    • 可扩展,社区有超过 60 多个插件

    支持平台

    Java

    SonarQube 仅支持 JVM 11,SonarQube scanners 支持 JVM 8 或 11。

    Java Server Scanners
    Oracle JRE 11 11
    不支持 8 8
    OpenJDK 11 11
    不支持 8 8

    Database

    注意:SonarQube 7.9+ 已经不在支持 MySQL。

    Database version
    PostgreSQL 12
    11
    10
    9.3-9.6
    字符集必须设置为 UTF-8
    Microsoft SQL Server 2017 (MSSQL Server 14.0)
    2016 (MSSQL Server 13.0)
    2014 (MSSQL Server 12.0)
    Oracle 19C
    18C
    12C
    11G
    XE Editions
    字符集必须设置为 UTF-8 系列
    不支持驱动包 ojdbc14.jar
    建议使用最新的 Oracle JDBC 驱动程序
    仅支持 thin 模式,不支持 OCI

    Web Browser

    Browser Version
    Microsoft Internet Explorer IE 11
    Microsoft Edge Latest
    Mozilla Firefox Latest
    Google Chrome Latest
    Opera Not tested
    Safari Latest

    验证环境

    操作系统:macOS Catalina 版本 10.15.2

    SonarQube:8.2.0

    Oracle JDK:11

    postgreSQL:12.2

    安装 postgreSQL

    macOS

    # 下载 
    # 官方下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
    $ wget https://get.enterprisedb.com/postgresql/postgresql-12.2-1-osx.dmg
    
    # 双击安装即可
    
    # 验证
    $ ps -ef | grep postgres
    
    # 启动
    $ sudo -i -u postgres
    $ ./bin/pg_ctl -D /Library/PostgreSQL/12/data start
    
    # 停止
    $ ./bin/pg_ctl -D /Library/PostgreSQL/12/data stop
    

    linux(Red Hat family)

    # 安装 yum 源
    $ yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
    # 安装客户端
    $ yum install -y postgresql12
    
    # 安装服务器端
    $ yum install -y postgresql12-server
    
    # 初始化数据库,并设置开机启动
    $ /usr/pgsql-12/bin/postgresql-12-setup initdb
    $ systemctl enable postgresql-12
    $ systemctl start postgresql-12
    
    # 验证
    $ systemctl status postgresql-12
    

    创建 sonar 数据库

    如下为 macOS 操作步骤,Linux 操作步骤一样。

    $ sudo -i -u postgres
    $ psql
    Password for user postgres:
    psql (12.2)
    Type "help" for help.
    
    # 创建数据库
    postgres=# CREATE DATABASE sonar;
    CREATE DATABASE
    
    # 创建 sonar 用户
    postgres=# CREATE USER sonar WITH ENCRYPTED PASSWORD 'sonar';
    CREATE ROLE
    
    # 设置权限
    postgres=# GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;
    GRANT
    
    # 修改 sonar 数据库所属者为 sonar
    postgres=# ALTER DATABASE sonar OWNER TO sonar;
    ALTER DATABASE
    
    # 查看数据库
    postgres=# l sonar
                                List of databases
     Name  | Owner | Encoding |   Collate   |    Ctype    | Access privileges
    -------+-------+----------+-------------+-------------+-------------------
     sonar | sonar | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/sonar        +
           |       |          |             |             | sonar=CTc/sonar
    (1 row)
    
    # 查看用户
    postgres=# du sonar
               List of roles
     Role name | Attributes | Member of
    -----------+------------+-----------
     sonar     |            | {}
    
    # 退出
    postgres=# q
    

    安装 SonarQube

    # 下载
    $ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.2.0.32929.zip
    
    # 解压
    $ unzip sonarqube-8.2.0.32929.zip
    
    # 修改配置文件,设置数据库
    $ vi conf/sonar.properties
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:postgresql://localhost/sonar
    
    # 启动
    $ ./macosx-universal-64/sonar.sh start
    

    访问 SonarQube

    启动成功后,通过 http://localhost:9000 进行访问。
    默认用户名/密码:admin / admin。

    下载中文插件

    在线安装中文插件,重启。

    注意: 离线安装只需要下载 jar 放到 extensions/plugins 目录下,重启即可。

    其他常用插件

    • Crowd
    • Bitbucket Authentication for SonarQube
    • Findbugs
    • Checkstyle
    • PMD
    • MyBatis Plugin for SonarQube
    • ShellCheck Analyzer
    • YAML Analyzer
  • 相关阅读:
    asp.net mvc 下载文件 txt doc xsl 等等
    MySQL用户管理:添加用户、授权、删除用户、删除用户、修改用户密码
    Vue打包时Unknown plugin "external-helpers" in "xxx\.babelrc" at 0" 解决方案
    vue中Axios的封装
    Docker部署ASP.NET Core应用到Linux中bash脚本
    Linux CentOS7系统中安装Nodejs、cnpm、Git环境
    C#之获取PDF张数以及PDF转JPG
    C#Amr转MP3
    mysql 之C#使用insert批量插入时日期字段为null,插入报错解决方案
    Windows服务器共享文件,Linux服务器实现挂载共享文件
  • 原文地址:https://www.cnblogs.com/daodaotest/p/12554750.html
Copyright © 2011-2022 走看看