当前位置: 代码迷 >> 综合 >> 绝对干货!SonarQube 6.7 稳定版安装详解!
  详细解决方案

绝对干货!SonarQube 6.7 稳定版安装详解!

热度:44   发布时间:2023-12-01 15:55:05.0

目录

概述

一、环境准备

1.1、硬件配置

1.2、JAVA 

1.3、数据库

1.4、操作系统

1.4.1、非root用户启动

1.4.2、vm.max_map_count 更改

1.4.3、fs.file-max 修改

1.4.4、文件句柄修改

1.4.5、最大线程数修改

二、安装配置

2.1、数据库配置

2.2、sonar安装配置

2.2.1、下载安装包

2.2.2、配置 sonar.properties

2.3、sonarqube runner 安装配置

2.3.1、下载安装包

2.3.2、配置 sonar-runner.properties 

2.4、环境配置

2.5、用户配置

2.6、启动

三、前端访问


概述

因为研发又想搞点事,非要弄个SonarQube 6.7 版本,说是为了和分公司环境同步。好吧,这是多少年代的了...

官网参考:https://docs.sonarqube.org/6.7/Requirements.html

主要说了这么个事

1java 只能用 8 版本

2、数据库(PostgreSQL 只能用8.x 9.x)(Oracle 只能用11G 12C XE)(MySQL 只能用5.65.7)

3、操作系统要求


一、环境准备

1.1、硬件配置

操作系统版本:使用了CentOS 7.6

本机IP192.168.1.21

配置还看得过去,4C16G 100GB磁盘。很明显,在这台服务器上,我应该把服务放在data路径下

建议使用的最低配置:4C4G 100GB

1.2JAVA 

1.3、数据库

psql (PostgreSQL) 9.6.12
公司主要集成了MySQL5.5PostgreSQL9.6,工具官网要求,使用PostgreSQL比较方便,就不用自己搭建了

1.4、操作系统

1.4.1、非root用户启动

新建一个可登陆用户sonar(可以是任意普通可登录用户)

这个必须是可登录的,所以最好在安装前创建,不然在之后安装完毕自动生成的sonar用户是没有登录权限的。
 

useradd sonar


如果已经生成了不可登录用户sonar,不要慌,userdel sonar 后再执行上面命令即可。

1.4.2vm.max_map_count 更改

vm.max_map_count 不能小于262144
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,复制下面代码执行就行了

echo vm.max_map_count=262144 >> /etc/sysctl.conf
sysctl -w vm.max_map_count=262144
sysctl -p



1.4.3、fs.file-max 修改

系统所有进程一共可以打开的文件数量不能小于65536 ....

修改个锤子哟!CentOS 7 默认的 fs.file-max 比这大多了!

1.4.4、文件句柄修改

用户运行SonarQube可以打开最少65536个文件描述符

文件句柄,熟客了,和上面一样,执行就完事了!
 

echo 'sonar        hard    nofile        65536' >> /etc/security/limits.conf
echo 'sonar        soft     nofile        65536' >> /etc/security/limits.conf


1.4.5、最大线程数修改

我很想改,很多地方确实都需要改的。但是系统CentOS 7 系统默认也是分了4096给创建的普通用户,唉,你们想改就改吧... 

不贴代码是我最后的倔强 ( *?ω?)?╰

 


二、安装配置

2.1、数据库配置

数据库IP192.168.1.16

###### postgresql 配置

CREATE USER sonar WITH PASSWORD 'aorise@sonar';
CREATE DATABASE sonar OWNER sonar;
GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;
flush privileges;

###### mysql 配置

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'aorise@sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'aorise@sonar';
flush privileges;

2.2sonar安装配置

2.2.1、下载安装包

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip
unzip sonarqube-6.7.7.zip
mv sonarqube-6.7.7 /data/sonar
cd /data/sonar-runner/# 里面居然还有一层!mv sonarqube-6.7.7 sonar
cd sonar

2.2.2、配置 sonar.properties

vim conf/sonar.properties

# 数据库对应配置:

# mysqlsonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
# postgresql
sonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonar
# oracle
sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/XE

#########-----以下是需要更改的 

sonar.jdbc.username=sonar
sonar.jdbc.password=aorise@sonar
sonar.login=admin
sonar.password=adminsonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonarsonar.web.host=0.0.0.0
sonar.web.port=10002
sonar.search.port=10001

2.3sonarqube runner 安装配置

2.3.1、下载安装包

wget https://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
unzip sonar-runner-dist-2.4.zip 
mv sonar-runner-2.4 /data/sonar-runner
cd /data/sonar-runner/

# 数据库对应配置:

# mysqlsonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

# postgresqlsonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonar

# oraclesonar.jdbc.url=jdbc:oracle:thin:@localhost/XE

2.3.2、配置 sonar-runner.properties 

#########-----以下是需要更改的

sonar.host.url=http://localhost:10002
sonar.jdbc.url=jdbc:postgresql://192.168.1.16:5432/sonar
sonar.jdbc.username=sonar
sonar.jdbc.password=aorise@sonar
sonar.login=admin
sonar.password=admin

2.4、环境配置

环境配置还是需要的,毕竟多跑了一个服务

echo 'export JRE_HOME=${JAVA_HOME}/jre' >> /etc/profile
echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib' >> /etc/profile
echo "export TIME_STYLE='+%Y/%m/%d %H:%M:%S'" >> /etc/profile
echo 'export SONAR_HOME=/usr/local/sonar' >> /etc/profilesource /etc/profile

2.5、用户配置

userdel sonar
useradd sonar
chown -R sonar:sonar /data/sonar/sonar
chown -R sonar:sonar /data/sonar-runner

2.6、启动

su - sonar /data/sonar/sonar/bin/linux-x86-64/sonar.sh start

查看日志:

--> Wrapper Started as Daemon
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.orgCopyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
2021.01.05 11:22:36 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /data/sonar/sonar/temp
2021.01.05 11:22:36 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:10001
2021.01.05 11:22:36 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/data/sonar/sonar/elasticsearch]: /data/sonar/sonar/elasticsearch/bin/elasticsearch -Epath.conf=/data/sonar/sonar/temp/conf/es
2021.01.05 11:22:36 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2021.01.05 11:22:37 INFO app[][o.e.p.PluginsService] no modules loaded
2021.01.05 11:22:37 INFO app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2021.01.05 11:22:47 INFO app[][o.s.a.SchedulerImpl] Process[es] is up
2021.01.05 11:22:47 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/data/sonar/sonar]: /usr/java/jdk1.8.0_171/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/data/sonar/sonar/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:./lib/server/*:/data/sonar/sonar/lib/jdbc/postgresql/postgresql-42.2.5.jar org.sonar.server.app.WebServer /data/sonar/sonar/temp/sq-process942422878370682278properties
2021.01.05 11:23:06 INFO app[][o.s.a.SchedulerImpl] Process[web] is up
2021.01.05 11:23:06 INFO app[][o.s.a.p.ProcessLauncherImpl] Launch process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/data/sonar/sonar]: /usr/java/jdk1.8.0_171/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/data/sonar/sonar/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -cp ./lib/common/*:./lib/server/*:./lib/ce/*:/data/sonar/sonar/lib/jdbc/postgresql/postgresql-42.2.5.jar org.sonar.ce.app.CeServer /data/sonar/sonar/temp/sq-process8890375341285298178properties
2021.01.05 11:23:12 INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
2021.01.05 11:23:12 INFO app[][o.s.a.SchedulerImpl] SonarQube is up

还是忍不住贴出来了,凑字数绝对不可耻

当然,最主要的有三个日志:

sonar.loges.logweb.log

这三个日志都没报错的情况下才能正常启动!


三、前端访问

192.168.1.21:10002

账户密码:admin/admin

 

访问正常,SonarQube 6.7 稳定版安装 到这里就完成了!撒花

PS:如果下载插件后启动失败,那么重新赋权即可

chown -R sonar:sonar /data/sonar/sonar
chown -R sonar:sonar /data/sonar-runner