sonarqube 8.4版本代码审核服务搭建

目录

一、前期准备

二、安装PostgreSQL 12.0

三、安装服务端程序

四、创建数据库

五、配置SonarQube

六、创建服务

七、查看日志排除错误

八、配置soarqube-scanner扫描仪


一、前期准备

硬件要求:虚机至少2核4G

vm.max_map_count 大于或等于524288
fs.file-max 大于或等于131072
运行SonarQube的用户可以打开至少131072个文件描述符
运行SonarQube的用户可以打开至少8192个线程
您可以使用以下命令查看值:

sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u

您可以通过运行以下命令为当前会话动态设置它们root:
sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192

二、安装PostgreSQL 12.0

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

yum install postgresql12-server

/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12

# 安装后的数据库data目录
cd /var/lib/pgsql/12/data

# 修改配置
vi pg_hba.conf
host    all             all             0.0.0.0/0            md5

vi postgresql.conf
listen_addresses = '*'

systemctl restart postgresql-12

# 客户端程序目录
cd /usr/pgsql-12/bin

# 安装的时候会自动创建postgres用户密码为空
su postgres
bash-4.2$ psql
psql (12.3)
输入 "help" 来获取帮助信息.

# 修改管理员密码(默认是随机密码)
ALTER USER postgres WITH PASSWORD 'postgres';

# 退出
\q

三、安装服务端程序

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

官网地址 https://docs.sonarqube.org/latest/setup/install-server/

# 解压缩
yum install zip unzip
tar -xvf jdk-11.0.8_linux-x64_bin.tar
# 一定用ZIP解压缩原始文件,否则会产生很多._XXX的隐藏文件,使程序报错
unzip sonarqube-8.4.1.35646.zip

mv jdk-11.0.8_linux-x64_bin /opt/jdk-11.0.8
mv sonarqube-8.4.1.35646 /opt/sonarqube-8.4.1.35646

# 创建用户
groupadd sonar
useradd sonar -g sonar
passwd sonar

chown -R sonar.sonar /opt/jdk-11.0.8/
chown -R sonar.sonar /opt/sonarqube-8.4/

四、创建数据库

su postgres

bash-4.2$ psql

# 创建用户
create user sonar with password 'sonar';

# 创建数据库指定所属者
create database sonarqube owner=sonar encoding='UTF8';

# 将dbtest所有权限赋值给sonar
grant all on database sonarqube to sonar;

五、配置SonarQube

# 修改sonar.properties配置文件($SONARQUBE-HOME/conf/sonar.properties)
cd /opt/sonarqube-8.4/conf
vi sonar.properties

sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

# 系统安装的是Java 8,所以需要单独指定Java 11的路径
vi wrapper.conf

wrapper.java.command=/opt/jdk-11.0.8/bin/java

# elasticsearch需要改
vi /etc/sysctl.conf

vm.max_map_count=655360

sysctl -p

# sonar是启动elasticsearch的用户
vi /etc/security/limits.conf

sonar hard nofile 65536
sonar soft nofile 65536

#修改elasticsearch配置文件
vim elasticsearch.yml

network.host: 192.168.210.60
http.port: 9200

六、创建服务

sonar启动:
su sonar
cd /opt/sonarqube/bin/linux-x86-64
./sonar.sh console   #第一次启动最好使用console可以看程序是否可以正常启动


如果没错就可以正常访问:http://192.168.210.60:9000

vim /etc/systemd/system/sonarqube.service

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=simple
User=sonar
Group=sonar
PermissionsStartOnly=true
ExecStart=/bin/nohup /opt/jdk-11.0.8/bin/java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube-8.4/lib/sonar-application-8.3.1.34397.jar
StandardOutput=syslog
LimitNOFILE=65536
LimitNPROC=8192
TimeoutStartSec=5
Restart=always
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

七、查看日志排除错误

# 查看logs文件夹下的日志文件,排查错误。千万用ZIP解压缩否则产生一堆隐藏文件和莫名错误
cat /opt/sonarqube/logs/sonar.log
cat /opt/sonarqube/logs/es.log

八、配置soarqube-scanner扫描仪

官网:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
在官网中按照操作系统进行下载相应的软件包
解压之后配置sonarqube-scanner

cd /opt/sonarqube-scanner/conf
vim sonar-scanner.properties

#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://192.168.210.60:9000
#sonar.host.url=http://localhost:9000

#----- Default source code encoding
sonar.sourceEncoding=UTF-8
#sonar.sourceEncoding=UTF-8

配置环境变量
vim /etc/profile

export SONAR_RUNNER_HOME=/opt/sonar-scanner/bin
export PATH=$PATH:${SONAR_RUNNER_HOME}

source /etc/profile

参考https://www.cnblogs.com/yuntiankong/p/13231709.html

postgresSQL参考  http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html?bsh_bid=330252594

猜你喜欢

转载自blog.csdn.net/kaikai136412162/article/details/108307771