SonarQube是一个基于web的开源工具。用来管理代码质量和代码分析。还可以跟踪统计数据并创建图表,使开发人员能够快速识别代码中的问题。
先决条件
- Ubuntu 20.04 LTS,至少2GB内存和1核CPU 
- PostgreSQL 版本 9.3或更高 
- 使用sudo权限访问ssh 
- 开放端口9000 
- 增加vm.max_map_count内核…执行下面四行命令 - 1 
 2
 3
 4
 5
 6
 7- sudo sysctl -w vm.max_map_count=262144 
 sudo sysctl -w fs.file-max=65536
 ulimit -n 65536
 ulimit -u 4096
- 打开文件/etc/security/limits.conf并插入下面两行内容 
 sudo vim /etc/security/limits.conf
 插入内容
 sonarqube - nofile 65536
 sonarqube - nproc 4096
在安装之前先更新系统,执行下面的命令
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install wget unzip -y
安装jdk11 略(sdkman)
安装和配置PostgreSQL10数据库
添加和下载PostgreSQL
| 1 | sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' | 
安装数据库
| 1 | sudo apt-get -y install postgresql postgresql-contrib | 
开启数据库服务
| 1 | sudo systemctl start postgresql | 
设置开机自启数据库
| 1 | sudo systemctl enable postgresql | 
修改PostgreSQL默认用户密码
| 1 | sudo passwd postgres | 
切换到postgres用户
| 1 | su - postgres | 
创建一个新用户sonar
| 1 | createuser sonar | 
进入PostgreSQL shell
| 1 | psql | 
为新建的用户sonar设置一个密码
| 1 | ALTER USER sonar WITH ENCRYPTED password 'sonar'; | 
创建一个新的数据库
| 1 | CREATE DATABASE sonarqube OWNER sonar; | 
授予数据库sonarqube的所有权限给sonar用户
| 1 | grant all privileges on DATABASE sonarqube to sonar; | 
退出psql shell
\q
回到sudo权限用户
exit
在Ubuntu安装SonarQube
下载sonaqube安装文件 最新版地址
cd /tmp
| 1 | sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.1.0.zip | 
将下载的文件解压到/opt目录
sudo unzip sonarqube-7.9.3.zip -d /opt
移动解压的文件到/opt/sonarqube
sudo mv /opt/sonarqube-7.9.3 /opt/sonarqube
配置SonarQube
创建组sonar
sudo groupadd sonar
添加用户访问权限
sudo useradd -c “user to run SonarQube” -d /opt/sonarqube -g sonar sonar
sudo chown sonar:sonar /opt/sonarqube -R
打开SonarQube配置文件
添加下面三行数据(数据库用户名和密码以及数据库连接地址)
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://yourip:5432/sonarqube
编辑sonar脚本文件并设置RUN_AS_USER(第一行为编辑文件,第二行为文件设置内容),编辑完成后按CTRL+X来保存和关闭文件
sudo nano /opt/sonarqube/bin/linux-x86-64/sonar.sh
RUN_AS_USER=sonar
切换到sonar用户
sudo su sonar
进入到脚本目录
cd /opt/sonarqube/bin/linux-x86-64/
运行脚本来启动SonarQube
./sonar.sh start
配置Systemd服务
首先停止SonarQube
cd /opt/sonarqube/bin/linux-x86-64/
./sonar.sh stop
创建systemd服务文件,并添加如下内容
sudo nano /etc/systemd/system/sonar.service
内容
| 1 | [Unit] | 
现在可以使用systemctl来管理服务了
- 开启服务
sudo systemctl start sonar
- 开机启动服务
sudo systemctl enable sonar
- 查看运行状态
sudo systemctl status sonar
访问SonarQube:打开浏览器,在地址栏输入 http://localhost:9000 或将localhost换成ip地址,
默认用户名和密码都是admin