更多原创文章请移步:https://www.365tofree.com/
一、安装前准备
(1)https://docs.sonarqube.org/7.9/requirements/requirements/查看SonarQube当前版本的软硬件支持情况
(2)SonarQube 依赖于Java 环境,需要安装相对应版本的JDK
(3)SonarQube从7.7以上开始不支持MySql数据库(7.7及以下版本支持)
二、开始安装
JAVA环境安装:
JDK11 下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
其他下载地址:https://pan.baidu.com/s/1dzyHZHSAs1NFsjhpTUArUw
1、创建安装目录
mkdir-p/usr/local/install2、解压缩JDK的tar包
tar-zxvfJDK3、移动解压缩后的文件到安装目录
mvjdk-13.0.2 /usr/local/install4、添加环境变量
vim/etc/profileexportJAVA_HOME=/usr/local/install/jdk-11exportPATH=$JAVA_HOME/bin:$PATH5、命令更新配置文件
source/etc/profile6、验证
java-versionPostgresql安装9.5(Ubuntu)
$apt-yinstallpostgresql postgresql-contrib#安装完成后,默认会增加一个postgres用户,需要对该#用户设置密码,并利用这个用户创建新的数据库用户提供给sonar使用#为postgres用户设置密码passwdpostgres# 切换到postgres用户su- postgres# 新建postgres数据库用户 sonarcreateuser sonar# 创建用户# 登录数据库psql# 创建数据库sonarCREATE DATABASE sonar WITH ENCODING'UTF8'OWNER sonarTEMPLATE=template0;alter user sonar with password'sonar';#设置sonar用户密码(否则会导致连不上数据库)alter role sonar createdb;alter role sonar superuser;alter role sonar createrole;#给sonar授权alter database sonar owner to sonar;#更改sonar数据库拥有者(这一步是必须的,否则会sonarqube会连接失败)# 退出数据库连接\qSonarQube安装8.4(Ubuntu)
1、下载
将下载的sonarqube-8.4.1.35646.zip包解压到目录下,并将sonarqube目录权限赋予给启动用户:
chown-Rsonar:sonar sonarqube注意:
- 不要解压在以数字开头的目录里
- 不要使用root运行sonar,创建一个用户只来启动sonar服务
2、配置
sonarqube-8.4.1.35646/conf/sonar.properties
数据库账号密码:
数据库连接地址:去掉qube?currentSchema=my_schema部分。可以尝试localhost不起作用再修改127.0.0.1
webIP(本机IP)、Port
ES存储路径:
创建目录并赋予权限给sonar用户和用户组
mkdir-p/data/sonarqube/datamkdir-p/data/sonarqube/tempchown-Rsonar:sonar /data/3、启动
su- sonar 切换用户 ./sonar.sh start(start/restart/stop/status)
注意:
- 不能直接su sonar切换用户,JDK会没有权限,必须su - sonar
三、错误排查
1、启动成功后web端不能访问
(1)首先查看sonarqube是否启动后又停止,多次查看sonarqube状态
(2)确定启动,查看端口是否放开、或被占用
telnet IP Port
(3)查看sonar.log是否存在错误日志
2、ES、sonarqube运行正常的
3、[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]错误
查看本机的内核参数
sysctlvm.max_map_countsysctlfs.file-maxulimit-n动态修改值(重启后修改的值还原):
sysctl-wvm.max_map_count=262144sysctl-wfs.file-max=65536ulimit-n65536永久设置,修改/etc/sysctl.d/99-sonarqube.conf(或/etc/sysctl.conf文件):
vi/etc/sysctl.confvm.max_map_count=262144fs.file-max=65536在/etc/profile文件末尾添加ulimit -n 65536
vi/etc/profileulimit-n65536#保存后运行#source /etc/profile 使其生效source/etc/profile4、JVM问题
猜测是由于su sonar方式切换用户导致没有JDK权限
5、web中的日志,数据库问题
(1)数据库连接地址由localhost修改成127.0.0.1
(2)检查用户名密码
(3)检查数据库设置(是否创建库、授权等)
psql#进入命令行\l#查看库情况\du#查看用户四、Sonar-Scanner扫描器安装及使用方法(用于扫描项目)
官方下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
#丢到/usr/local/下面解压
unzip sonar-scanner-cli-4.2.0.1873-linux.zip
cd sonar-scanner-4.2.0.1873-linux/
vim conf/sonar-scanner.propertie #改下配置
修改配置:
保存退出后,创建软连接,将sonar-scanner改为全局即可使用(修改成自己的目录):
ln-s/usr/local/sonar-scanner-4.2.0.1873-linux/bin/sonar-scanner /usr/bin/sonar-scanner重新启动sonarqube。
访问web页面(默认本机IP:port/about):
账户密码:admin/admin
安装中文插件:
参考文章:https://blog.51cto.com/14268033/2475706
https://www.jianshu.com/p/398cd10986ba
https://blog.csdn.net/shm19990131/article/details/107527755