Linux Sonarqube-8.9部署

文章目录

前言

一、安装JDK11

二、安装PostgreSQL12

1.安装

2.创建SonarQube数据库

三、安装SonarQube

1.下载SonarQube8.9.7LTS

2.解压

3.配置SonarQube文件

四、修改Liunx文件限制数

五、启动SonarQube

六、访问


前言

从7.9版本开始SonarQube不再支持Mysql,网上的教程大多数都是基于mysql,现在已经不适用了!SonarQube7.9开始数据库只支持PostgreSQL、Oracle和MS SQLSERVER,本篇文档基于PostgreSQL12。

Sonarqube8.9Java环境需要JDK11版本!

注:SonarQube为静态代码扫描工具,只能扫描代码中存在的问题,而不会扫描代码如何执行业务逻辑!


一、安装JDK11

# 查询已安装的JDK
rpm -qa | grep openjdk
java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
java-1.8.0-openjdk-headless-1.8.0.312.b07-1.el7_9.x86_64

# 卸载旧版本的JDK
rpm -e java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
rpm -e java-1.8.0-openjdk-headless-1.8.0.312.b07-1.el7_9.x86_64

# 安装openjdk11,需要EPEL源
yum install -y epel-release

# 安装openjdk11并验证
yum install java-11-openjdk.x86_64
java -version
openjdk version "11.0.14" 2022-01-18 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14+9-LTS, mixed mode, sharing)

二、安装PostgreSQL12

1.安装

# 下载、解压
wget http://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.bz2
tar xvf postgresql-12.2.tar.bz2

# 编译安装
cd postgresql-12.2/
# 安装至/opt/pgsql12
./configure --prefix=/opt/pgsql12
make world
make install-world

# 新增pgsql用户,添加密码
adduser postgres
passwd postgres

# 创建数据目录并授权
mkdir -p /home/postgres/data
chown -R postgres:postgres /home/postgres/data

# 切换postgres用户操作
su - postgres
# 初始化数据库
/opt/pgsql12/bin/initdb -D /home/postgres/data
# 启动数据库
/opt/pgsql12/bin/pg_ctl -D /home/postgres/data -l logfile start

2.创建SonarQube数据库

创建SonarQube数据库时,字符集一定要选择UTF8,在postgres用户下执行/opt/pgsql12/bin/psql:

# 为超级用户postgres配置一个密码
\password postgres;
# 创建sonar数据库账户和密码
CREATE USER sonar WITH PASSWORD 'sonar123456';
CREATE DATABASE sonardb WITH OWNER sonar ENCODING UTF8;
GRANT ALL PRIVILEGES ON DATABASE sonardb TO sonar;

三、安装SonarQube

1.下载SonarQube8.9.7LTS

推荐下载LTS版本,相对于其他版本更加稳定,但是功能更新比较慢,SonarQube LTS版本一年更新一次,非LTS版本2月更新一次 https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.7.52159.zip

2.解压

unzip sonarqube-8.9.7.52159.zip

3.配置SonarQube文件

需要修改/opt/sonarqube-8.9.7/conf/sonar.properties,这个文件主要配置SonarQube数据库连接,网页配置和JVM虚拟机配置. vim /opt/sonarqube-8.9.7/conf/sonar.properties,找到18~19两行,修改连接数据库用户名和密码(可是使用set nu在vim里设置行号),修改之前使用cp /opt/sonarqube-8.9.7/conf/sonar.properties /opt/sonarqube-8.9.7/conf/sonar.properties.bak备份一下配置文件

  •  配置数据库连接
sonar.jdbc.username=username
sonar.jdbc.password=password
  • 修改JDBC连接
# 修改sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
sonar.jdbc.url=jdbc:postgresql://localhost/sonardb
  • 配置WEB选项
# 找到101行,配置SonarQube登录地址,去掉前面的注释,改为该服务器的IP地址
sonar.web.host=127.0.0.1

# 找到107行,更改SonarQube的端口,默认为9000
#去掉前面的注释,改为自定义即可
sonar.web.port=9000
  • 配置SonarQube LOG选项
# 默认位置为安装目录下,去掉前面的注释,改为如下目录
sonar.path.logs=/var/log/sonarqube/

#更改LOG目录属主,不然LOG4J会报错
chown -R sonarqube:sonarqube /var/log/sonarqube/
  • 配置ELASTICSEARCH存储路径
#默认为SonarQube安装路径下,建议安装在其他路径
sonar.path.data=/data/sonarqube/data
sonar.path.temp=/data/sonarqube/temp

四、修改Liunx文件限制数

  • 增加sonarqube用户和密码
useradd sonarqube
passwd sonarqube
  • 查看Limits配置
vm.max_map_count:使用sysctl vm.max_map_count命令查看,默认为65530,官方建议大于等于524288,如果大于此值不用修改
fs.file-max:sysctl fs.file-max查看,官方建议大于等于131072,如果大于此值不用修改
ulimit -n:sonarqube打开文件数,官方建议大于等于131072,如果大于此值不用修改
ulimit -usonarqube大开线程数,官方建议大于等于8192,如果大于此值不用修改
  • 修改配置
#修改vm.max_map_count
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p

#修改fs.file-max
echo "fs.file-max = 6553560" >> /etc/sysctl.conf
sysctl -p

#修改ulimit
vim /etc/security/limits.d/99-sonarqube.conf
# 增加sonarqube用户大开文件数
sonarqube   -   nofile   131072
sonarqube   -   nproc    8192

五、启动SonarQube

/opt/sonarqube-8.9.7/bin/linux-x86-64/sonar.sh start      

六、访问

打开网址:http://***:9000/,默认用户名密码admin/admin

你可能感兴趣的:(运维,linux)