gitlab部署及整合Jenkins持续构建(四)sonarqube9.9安装和使用(一步一坑)

news/2024/7/9 20:46:35 标签: postgresql, sonarqube, linux

文章目录

  • postgresql13.0安装
  • 代码质量管理平台--sonarqube安装
    • 1、前置依赖+下载
    • 2、安装unzip并解压sonarqube并移动到`/usr/local`:
    • 3、修改sonarqube相应的配置
    • 4、新增用户,并将目录所属权赋予该用户:
    • 5、启动:
    • 6、界面访问+登录
    • 7、在界面产生令牌+sonarqube分析项目代码
  • 可能出现的问题
    • 关于sonarqube安装的前置问题
    • sonarqube启动不起来/启动后马上关闭
    • 执行`mvn sonar:sonar \`报错`BUILD FAILURE`

postgresql130_1">postgresql13.0安装

官网给出的各种环境下安装postgresql步骤:https://www.postgresql.org/download/

CentOS7+jdk17为例:
在这里插入图片描述

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

sudo yum install -y postgresql13-server

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13

postgresql_18">1、配置postgresql数据库

yum安装完,默认的pgsql-13的数据目录在/var/lib/pgsql/13/data/
除非/var目录可用空间很大,否则需要修改数据目录

#创建数据目录&修改属主属组
mkdir -p /data/postgresql-13.0/
chown postgres: -R /data/postgresql-13.0/
 
#初始化pgsql(指定数据目录)
sudo -u postgres /usr/pgsql-13/bin/initdb --encoding=UTF-8 --username=postgres --pgdata=/data/postgresql-13.0/data
#--encoding 字符集
#--username 启动用户
#--pgdata 数据目录(数据目录如已存在会报错)

在这里插入图片描述

记录配置文件路径,修改listen_addresses = '*'postgresql启动参数

vim /data/postgresql-13.0/data/postgresql.conf

在这里插入图片描述

定义哪些服务器、可以用什么样的方式访问postgresql

vim /data/postgresql-13.0/data/pg_hba.conf   
# 如下,允许所有库被远程连接,需要账密验证
# host     all            all             0.0.0.0/0               md5

在这里插入图片描述

修改service文件(修改数据目录)

vim /usr/lib/systemd/system/postgresql-13.service   #修改后:Environment=PGDATA=/data/postgresql-13.0/data/
systemctl daemon-reload

在这里插入图片描述

#启动postgresql-13
systemctl start postgresql-13

postgresql_59">2、进入postgresql创建数据库

在前面已经修改认证文件/var/lib/pgsql/data/pg_hba.conf能够使用默认用户postgres不需要密码进入数据库

psql -U postgres   

在这里插入图片描述

创建新用户

#新建用户sonar,密码xxxxxx
create user sonar with password '自定义密码';
 
#创建数据库sonar并指定owner为sonar
create database sonar with owner sonar;
 
#授权sonar用户在数据库sonar拥有所有权限
grant all on database sonar to sonar;

使用\q命令退出数据库,设置登录数据库需要密码:前三个trust修改为md5

vim /data/postgresql-13.0/data/pg_hba.conf

在这里插入图片描述

sonarqube_86">代码质量管理平台–sonarqube安装

1、前置依赖+下载

postgresqlsonarqubesonarqube6.6以上版本不支持MySQL)
下载地址:https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/
在这里插入图片描述

sonarqubeusrlocal_92">2、安装unzip并解压sonarqube并移动到/usr/local

yum install unzip​
unzip sonarqube-9.9.0.65466.zip​
mv sonarqube-9.9.0.65466 /usr/local/

sonarqube_97">3、修改sonarqube相应的配置

vim /usr/local/sonarqube-9.9.0.65466/conf/sonar.properties
修改:
1.sonar.jdbc.username=sonar
2.sonar.jdbc.password=xxx​x
3.sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonar​
4.sonar.web.context=/sonar​
5.sonar.web.host=0.0.0.0
6.sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
7.sonar.web.port=9000
8.sonar.ce.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
9.sonar.search.javaOpts=-Xmx512m -Xms512m -XX:MaxDirectMemorySize=256m -XX:+HeapDumpOnOutOfMemoryError
10.sonar.search.port=9001
11.sonar.path.data=data
12.sonar.path.temp=temp
在这里插入图片描述
在这里插入图片描述

4、新增用户,并将目录所属权赋予该用户:

useradd sonar
chown -R sonar:sonar sonarqube-9.9.0.65466

5、启动:

#启动
sudo -u sonar /usr/local/sonarqube-9.9.0.65466/bin/linux-x86-64/sonar.sh start
#停止
sudo -u sonar /usr/local/sonarqube-9.9.0.65466/bin/linux-x86-64/sonar.sh stop
#重启
sudo -u sonar /usr/local/sonarqube-9.9.0.65466/bin/linux-x86-64/sonar.sh restart

在这里插入图片描述

6、界面访问+登录

http://http://10.27.201.84:9000/sonar​
开启防火墙:vim /etc/sysconfig/iptables新增9000端口​

登录,默认账户和密码都是admin
在这里插入图片描述

登陆之后需要修改密码
在这里插入图片描述

sonarqube_141">7、在界面产生令牌+sonarqube分析项目代码

并将项目代码使用以下命令进行提交由sonarqube进行分析,完成后,查看相应的分析结果
在这里插入图片描述

在git中输入以下代码,-Dsonar.login=后面的值是在sonarqube中生成的

mvn sonar:sonar \
  -Dsonar.host.url=http://10.27.201.84:9000/sonar \
  -Dsonar.login=squ_cde46383d52c8f82f6607e5ebe134384fa2a725a

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之后就可以点进去详细查看bug等信息:
在这里插入图片描述

可能出现的问题

sonarqube_162">关于sonarqube安装的前置问题

sonarqube官方文档
里面明确写出了sonarqube各个版本 对应的 jdk版本支持的数据库
一定要严格按照官网给出的支持情况去选择对应的版本去配置,否则一定会报错!!!
建议使用新版,不要因为postgresql数据库没有使用过去选择旧版,问题会层出不穷!!!

sonarqube_168">sonarqube启动不起来/启动后马上关闭

在这里插入图片描述
在安装路径下的logs文件夹中,如果运行成功应该会有如图几个日志,如果没有成功运行,点开nohup.log、sonar.log文件去看报错信息。

常见的几个原因:
1、文件的执行权限问题
sonarqube不支持root身份启动运行,只能创建一个用户去启动,需要给sonarqube的安装文件给新用户设置权限,按照本文操作给最外层的sonarqube9.9.0.65466文件设置权限后内层的文件也应该都是修改完的状态,但不排除个别文件没有修改成功,按照日志文件的报错内容找到该文件,重新执行chowm命令完成权限分配,重启sonarqube即可。

2、elasticsearch进程的最大文件描述符
日志中显示max file descriptors [4096] for elasticsearch process is too low,elasticsearch进程的最大文件描述符从4096增加到至少65535,可以在/etc/security/limits.conf文件中添加以下行:
A hard nofile 65536
A soft nofile 65536
其中A代表启动sonarqube的用户

执行mvn sonar:sonar \报错BUILD FAILURE

这种:
在这里插入图片描述
这种:
在这里插入图片描述
IDEA打开项目,执行cleancompile,再次执行mvn sonar:sonar \


http://www.niftyadmin.cn/n/276841.html

相关文章

【白嫖系列】教育邮箱申请最新专业绘图软件OriginPro(官方渠道)

🥑 Welcome to Aedream同学 s blog! 🥑 文章目录 预备简单介绍有效期与申请条件申请链接查看邮箱切换中文 预备 以edu结尾的邮箱,毕业也可使用校友邮箱等。 简单介绍 Origin是一款数据分析和绘图的软件,具备统计、峰值分析和曲线…

索引的介绍

mysql官方对索引的定义为:索引(index)是帮助mysql高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构 索引的分类: 在一个表中,主键索引只能有一个,唯一索…

thinkphp路由,请求和响应

文章目录 定义获取路由后面的参数跨域请求请求响应 定义 thinkphp定义路由一般在route路由下的app.php中 下面这是一个简单的路由 Route::rule(admin/login,/app/controller/Admin/login)->middleware(\app\middleware\MyMiddleware::class);该路由表示当访问admin/login时…

Hive ---- DML(Data Manipulation Language)数据操作

Hive ---- DML(Data Manipulation Language)数据操作 1. Load2. Insert1. 将查询结果插入表中2. 将给定Values插入表中3. 将查询结果写入目标路径 3. Export&Import 1. Load Load语句可将文件导入到Hive表中。 1. 语法 LOAD DATA [LOCAL] INPATH …

学习记录:2023.4.27

2023.4.27 实习学习记录 Vue连接远程数据库Java基础 Vue cursor: pointer; 表示鼠标指针在该元素上时会变成手形,表示该元素可以被点击或者有交互性。这是一种CSS样式属性,常用于网页设计中。VueECharts实现热词图: 1、安装依赖:…

【Python百日进阶-Web开发-Feffery】Day612 - 趣味dash_12:上传需要转换的多个文件

文章目录 一、环境准备1.1 初始化基础`Python + Dash`环境1.2 本项目中需要增加的第三方包二、本项目B站视频讲解三、页面效果四、项目源码一、环境准备 1.1 初始化基础Python + Dash环境 CSDN文档参见:https://blog.csdn.net/yuetaope/article/details/129795264 Bilibili视…

node笔记_安装nvm管理node版本

文章目录 前言下载nvm安装nvmnvm路径node路径查看版本nvm -v查看nvm的node版本列表(nvm list available)配置nvm的镜像库mirror选择node版本安装 (node install version)使用指定的node版本(nvm use) node环境变量配置配置NODE_PA…

使用Vscode调试shell脚本 环境搭建基本步骤

操作系统: Linux --CentOS. step1: 在Vscode 中安装Bash Debug Step2:创建一个名字为123.sh的shell脚本; 输入123.sh, 回车: ​​​​​​Step3:编辑简单的待打印的内容,如下: Step4: 配置编译器 修改为下面内容: Step5: 点击按…