linux下安装SonarQube
创始人
2024-06-01 11:15:52

目录

      • 1. 准备安装环境
      • 2. 安装postgres数据库
      • 3. 安装SonarQube
      • 4. 使用SonarQube

1. 准备安装环境

这里安装SonarQube的系统环境是Red Hat Enterprise Linux release 8.7 ,然后将jdk的压缩包(jdk-17.0.2_linux-x64_bin.tar.gz)和sonarQube的压缩包(sonarqube-9.9.0.65466.zip)上传到/usr/local/src目录下,
sonarQube官网下载地址:https://www.sonarsource.com/products/sonarqube/downloads/
sonarQube官网文档地址:
https://docs.sonarqube.org/latest/

初始化环境的脚本init.sh,内容如下,执行脚本 sh init.sh 8.7

#!/bin/bash
if [ -z $1 ]then echo '$1 is not exists or is empty'exit
fiecho "[BaseOS]
name=BaseOS
baseurl=https://mirrors.aliyun.com/rockylinux/8/BaseOS/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/rockylinux/8/AppStream/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS[PowerTools]
name=PowerTools
baseurl=https://mirrors.aliyun.com/rockylinux/8/PowerTools/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS[Extras]
name=Extras
baseurl=https://mirrors.aliyun.com/rockylinux/8/extras/\$basearch/os/
gpgcheck=0
enabled=1
gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-ANOLIS
" > /etc/yum.repos.d/online.repo
echo 'vers:'$1
sed -i "s/8/$1/g" /etc/yum.repos.d/online.repo
yum install -y vim
yum install -y unzip

紧接着设置系统参数vm.max_map_count

vim /etc/sysctl.conf
修改如下内容
vm.max_map_count=262144
查看修改的参数是否生效,如果生效显示如下
sysctl -p

在这里插入图片描述
然后设置配置jdk

先解压
tar -zxvf  /usr/local/src/jdk-17.0.2_linux-x64_bin.tar.gz
添加环境变量
echo 'export JAVA_HOME=/usr/local/src/jdk-17.0.2' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
生效环境变量
source /etc/profile
检测环境变量是否生效
java -version

在这里插入图片描述

2. 安装postgres数据库

这里就不说明怎么安装postgres数据库,具体安装步骤可以参考这篇博客:https://blog.csdn.net/u010080562/article/details/127349394

3. 安装SonarQube

这里SonarQube是一个java的web项目,依赖elasticsearch和postgres才能运行,因为elasticsearch不能使用root账户运行,所以现在创建用户

创建用户
useradd sonar
echo 'sonar' | passwd --stdin sonar
然后来到/usr/local/src目录解压SonarQube压缩包
unzip sonarqube-9.9.0.65466.zip
然后重命名SonarQube解压后的文件夹名
mv sonarqube-9.9.0.65466 sonarqube
mkdir  /var/sonarqube
将sonarqube文件下的所有内容的属主设置成sonar
chown -R sonar:sonar   /usr/local/src/sonarqube
chown -R sonar:sonar   /var/sonarqube

在这里插入图片描述

切换到sonarqube的conf文件下
cd   /usr/local/src/sonarqube/conf
编辑配置文件sonar.properties,添加如下内容
#sonar运行产生的数据文件和临时文件存放目录
sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp
#访问sonar的IP地址、端口号以及上下文,host就填你部署SonarQube的这台主机或者虚拟机的IP,端口随便定,不要和已有端口冲突就行
sonar.web.host=192.168.225.23
sonar.web.port=8888
sonar.web.context=/
#sonar运行需要连接的postgres参数
sonar.jdbc.username=jamy
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://192.168.227.192:5432/sonarqube?currentSchema=public

在这里插入图片描述

在/usr/local/src/sonarqube/extensions/jdbc-driver目录下创建目录postgresql,用来存放postgresql-42.5.1.jar
cd /usr/local/src/sonarqube/extensions/jdbc-driver
mkdir  postgresql
再把postgresql-42.5.1.jar复制到/usr/local/src/sonarqube/extensions/jdbc-driver/postgresql
cp /usr/local/src/sonarqube/lib/jdbc/postgresql/postgresql-42.5.1.jar  /usr/local/src/sonarqube/extensions/jdbc-driver/postgresql

接下来就来运行sonar

先启动postgres数据库(这个数据库装在本机或是其他虚拟机都可以,只要能连接就行),等会启动sonar会连接数据的
然后切换到sonar用户下
su  sonar
来到sonarqube的bin目录下准备启动
cd /usr/local/src/sonarqube/bin/linux-x86-64
./sonar.sh start
查看启动日志,显示如下图表示启动成功
tail -f /usr/local/src/sonarqube/logs/sonar.log

在这里插入图片描述

4. 使用SonarQube

先关闭防火墙再来访问

浏览器访问地址:192.168.225.23:8888
账户 :admin
密码: admin
首次登录后会要求你修改密码

在这里插入图片描述
在这里插入图片描述
首页是这样的
在这里插入图片描述
如果想要中文显示界面,可以安装中文插件
在这里插入图片描述
继续往下拉,就可以看到这个按钮,点击它
在这里插入图片描述
点击完I understand the risk这个按钮就会出现下面这个界面
在这里插入图片描述
搜索到下面这个插件,点击后面的install来安装插件
在这里插入图片描述
在这里插入图片描述
安装完中文插件,重启SonarQube
在这里插入图片描述
重启完需要重新登录
在这里插入图片描述
现在再看看界面就是中文界面(大体上是中文,有些还是英文的)
在这里插入图片描述
现在看项目啥都没有,需要找个maven项目构建下才能看出效果
在这里插入图片描述
在构建maven项目之前需要再maven的配置文件settings.xml添加点东西

1.在标签里面添加一个profile
sonartrueadmin123456http://192.168.225.23:8888
2.在标签末尾添加这个sonar
3.此时打开一个maven项目构建一下,如下图

在这里插入图片描述
在这里插入图片描述
此时再来刷新SonarQube的项目界面,看看有什么不一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到次就结束了,当然SonarQube也可以整合进jenkins,在Jenkins构建项目时使用SonarQube分析代码,后面有时间再更新这一块。。。

相关内容

热门资讯

巴黎世家受众画像:不为Logo... 在时尚的洪流中,巴黎世家始终是一个独特的存在,它不仅仅是奢侈品的代名词,更是一种关于身份认同、意识形...
最新!我国盐湖锂资源萃取分离关... 每经编辑|杜宇     据央视新闻1月10日消息,总台记者从中国科学院青海盐湖研究...
猪价持续“磨底” 企业借期货工... 来源:@经济观察报微博记者 陈姗“2025年,中国生猪市场在供需矛盾加剧、政策密集调控与行业深度转型...
迎春以诗,“第40届青春诗会诗... (来源:上观新闻)新年伊始,诗声迎春。1月3日,由《诗刊》社、蜂巢当代艺术中心、中国诗歌网联合主办的...
从“源头”到“龙头” 山西晋城... 中新网晋城1月10日电 (杨佩佩 王金枝)水网改造、县域统管、智慧运营……2025年,山西晋城推进城...