目录
一、前期准备
硬件要求:虚机至少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 md5vi 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.propertiessonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar# 系统安装的是Java 8,所以需要单独指定Java 11的路径
vi wrapper.confwrapper.java.command=/opt/jdk-11.0.8/bin/java
# elasticsearch需要改
vi /etc/sysctl.confvm.max_map_count=655360
sysctl -p
# sonar是启动elasticsearch的用户
vi /etc/security/limits.confsonar hard nofile 65536
sonar soft nofile 65536#修改elasticsearch配置文件
vim elasticsearch.ymlnetwork.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-scannercd /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/profileexport 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