Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。

 

一、环境准备

1、JDK安装配置 

下载jdk:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

上传到linux,解压,配置环境变量,重载生效:

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql

[root@localhost ~]# tar -zxvf jdk-11.0.12_linux-x64_bin.tar.gz [root@localhost ~]# vi /etc/profile
#java
export JAVA_HOME=/opt/jdk-11.0.12
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

[root@localhost ~]# source /etc/profile

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql

验证测试:

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql_03

 2、系统配置

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

二、安装部署

1、安装PostgreSQL 10

(1) 安装Pg数据库

wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql10-server postgresql10

(2)初始化数据库并启动

/usr/pgsql-10/bin/postgresql-10-setup initdb
systemctl start postgresql-10

(3)创建pg用户

#切换账号
su — postgres
#进入pg库,直接 psql
psql

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql_04

 创建sonar用户

create user sonar with password '123456';

创建sonarqube数据库

create database sonarqube owner sonar;

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_postgresql_05

 (4)开启远程外联

修改配置文件,

位置:/var/lib/pgsql/10/data/postgresql.conf

修改:取消# 注释或者按照我这样新增 listen_addresses = ‘*’

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_java_06

位置:/var/lib/pgsql/10/data/pg_hba.conf

修改:新增 host all all 0.0.0.0/0 trust 访问规则

 

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_java_07

 (5)重启服务,测试

systemctl restart postgresql-10

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_java_08

2、SonarQube安装部署

(1)下载软件包

下载地址:https://www.sonarqube.org/downloads/

1


wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.2.46101.zip


(2)添加系统用户

useradd sonar
passwd sonar

(3)解压安装包

mv sonarqube-7.9.1.zip /opt/sonarqube/
chown -R sonar:sonar /opt/sonarqube/
su - sonar
unzip sonarqube-8.9.2.46101.zip

(4)更改配置文件

[sonar@localhost conf]$ grep -Ev "^$|^[#;]" sonar.properties 
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://192.168.247.133/sonarqube

(5)启动SonarQube

./sonar.sh start

(6)验证检查是否搭建成功

检查步骤一:连接PostgreSQL,查看sonar的数据库下面是否自动创建了相关的表。

 步骤二:检查sonarqube的服务端的地址是否可以正常访问。

 

 三、登录配置

(1)默认账户admin/admin,首次登录,强制修改密码。

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_java_09

 

 (2)安装汉化插件

选择 Administration -> Marketplace -> Plugins 中搜索 Chinese pack ,然后Install.

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_postgresql_10

 Restart Server生效。

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_java_11

 

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_postgresql_12

 

 四、SonarScanner扫描

(1) 安装配置

下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql


[root@localhost ~]# unzip sonar-scanner-cli-4.6.2.2472-linux.zip -d /opt/SonarScanner
[root@localhost ~]# vi /etc/profile
#SonarScanner
  export Sonar_Home=/opt/SonarScanner/
  export PATH=$Sonar_Home/bin:$PATH
  [root@localhost ~]# source /etc/profile


Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql

 

扫描方式一:SonarScanner配置

修改配置信息/opt/SonarScanner/conf/sonar-scanner.properties:

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql_15

扫描方式二:创建项目

在sonar控制台,新建项目,创建令牌,选择扫描方式。

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_java_16

 

扫描方式三:扫描项目

编写脚本执行

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql

 [root@localhost simple-java-maven-app]# ./sonar.sh 

sonar-scanner -Dsonar.host.url=http://192.168.247.133:9000 \
-Dsonar.projectKey=demo-maven-service \
-Dsonar.projectName=demo-maven-service \
-Dsonar.projectVersinotallow=1.0 \
-Dsonar.login=admin \
-Dsonar.password=abc123! \
-Dsonar.ws.timeout=30 \
-Dsonar.projectDescriptinotallow="my first project!" \
-Dsonar.links.homepage=http://www.baidu.com \
-Dsonar.sources=src \
-Dsonar.sourceEncoding=UTF-8 \
-Dsonar.java.binaries=target/classes \
-Dsonar.java.test.binaries=target/test-classes \
-Dsonar.java.surefire.report=target/surefire-reports

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql

Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)_sql_19

 

 

 

 参考连接:

Centos7 安装Postgresql 10 详细步骤(远程连接)

https://www.icode9.com/content-2-816200.html