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

news2024/10/7 1:28:01

文章目录

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

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

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

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安装

1、前置依赖+下载

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

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

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

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
在这里插入图片描述

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

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安装的前置问题

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

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.coloradmin.cn/o/476920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回村准备结婚了~

小伙伴们大家好,我是阿秀。 这几天是一年一度的五一假期,前几年因为疫情的存在,很多人的五一假期都只能憋在家里,不知道今年各位有没有出去游玩的计划和打算? 昨晚刷朋友圈看到很多人都在晒行程的,有打算去…

【MATLAB数据处理实用案例详解(19)】——利用神经模糊控制实现对洗衣机的控制

目录 一、问题描述二、洗衣机模糊控制三、运行结果四、完整代码 一、问题描述 20世纪90年代初期,日本松下公司推出了神经模糊控制全自动洗衣机这种洗衣机能够自动判断衣物质地的软硬程度、衣量多少、脏污程度和性质等,应用神经模糊控制技术,…

JavaScript实现输入成绩,输出成绩等级的代码

以下为实现输入成绩,输出成绩等级(switch语句)的代码和运行截图 目录 前言 一、实现输入成绩,输出成绩等级 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择,您可以在目录…

C#底层库--自定义进制转换器(可去除特殊字符,非Convert.ToString方式)

系列文章 C#底层库–程序日志记录类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709 C#底层库–MySQLBuilder脚本构建类(select、insert、update、in、带条件的SQL自动生成) 本文链接:https://blog.csd…

从南极到你家,易开得,一支“中国芯”的奇幻漂流

2023年的AWE,精彩程度比我想象中还要夸张! 一方面是热度空前,现场人头攒动,有一家老中幼三代一起来观展的,有经销商、客户来问价采购的,还有行业媒体举着单反、手机、摄像机激情拍照的,让我们正…

4月30日第壹简报,星期日,农历三月十一

4月30日第壹简报,星期日,农历三月十一坚持阅读,静待花开1. 五一小长假首日全国铁路迎客流高峰,创铁路单日客流历史新高,旅游订单量较春节假期首日增长668%。2. 六大国有银行一季报业绩披露:共赚近3600亿元&…

chatgpt 数据相关应用论文策略简介

hatGPT等预训练大模型,一个核心能力就是经过海量语料的训练加上强化学习的引导,其具有强大的接近人类的文本生成能力。这个能力的一大用途,就是可以为我们生产数据或者标注数据,再基于这些数据训练我们自己的模型。 On the Feasi…

B/S 结构系统的 缓存机制(Cookie) 以及基于 cookie 机制实现 oa 十天免登录的功能

B/S 结构系统的 缓存机制(Cookie) 以及基于 cookie 机制实现 oa 十天免登录的功能 文章目录 B/S 结构系统的 缓存机制(Cookie) 以及基于 cookie 机制实现 oa 十天免登录的功能每博一文案1. Cookie 的概述2. session 与 Cookie 之间的联系:3. Cookie 的作用&#xff…

Android 9.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

1.前言 在9.0的系统rom产品定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的通知背景默认是白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通知显示流程,设置默认下拉状态栏UI中的…

LaTeX基础文本排版命令

LaTeX基础文本排版命令 1. 字体大小2. 字体的粗体与斜体2.1. 粗体2.2 斜体2.3 同时启用粗体和斜体 3. 空格长度4. 高度与宽度尺寸 在LaTeX中,文本排版可以通过简单的命令实现,这些命令可以控制字体大小、粗体与斜体、空格、行高和宽度等方面,…

【C++】模板进阶:非类型模板参数模板的特化模板分离编译

文章目录 1. 非类型模板参数2. 模板的特化1. 概念2. 函数模板特化3.类模板特化 3. 模板分离编译4. 模板总结 在之前的博客中我们初次接触到了泛型编程和模板的概念 【C】模板初阶,当时只讲了一些基本的用法,现在做一些补充 1. 非类型模板参数 模板参数…

js判断是否为null,undefined,NaN,空串或者空对象

js判断是否为null,undefined,NaN,空串或者空对象 这里写目录标题 js判断是否为null,undefined,NaN,空串或者空对象特殊值nullundefinedNaN空字符串("")空对象(…

【Linux】4. 开发工具的使用(yum/vim)

前言 工具的本质就是指令 在介绍工具之前先介绍一下互联网生态 Linux 软件包管理器 yum 1. 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以…

【算法】一文彻底搞懂ZAB算法

文章目录 什么是ZAB 算法?深入ZAB算法1. 消息广播两阶段提交ZAB消息广播过程 2. 崩溃恢复选举参数选举流程 ZAB算法需要解决的两大问题1. 已经被处理的消息不能丢2. 被丢弃的消息不能再次出现 最近需要设计一个分布式系统,需要一个中间件来存储共享的信息…

手把手教你开发第一个HarmonyOS (鸿蒙)移动应用

⼀、移动应⽤开发的介绍 移动应⽤开发: AndroidIOSHarmonyOS (鸿蒙) ⼆、HarmonyOS介绍 文档概览-HarmonyOS应用开发官网 2.1 系统的定义 2.1.1 系统的定位 HarmonyOS有三⼤特征: 搭载该操作系统的设备在系统层⾯融为⼀体、形成超级终…

常见元件、封装、尺寸、表面处理等

参考:https://www.bilibili.com/read/cv11024927?fromsearch&spm_id_from333.337.0.0 参考:https://www.bilibili.com/read/cv18413169?fromsearch&spm_id_from333.337.0.0 目录 通孔插件(THT)和表面贴装(SMT)技术封装类型SOP/SOIC封装DIP封装…

实战打靶集锦-018-decoy

提示:本文记录了博主的一次打靶过程 目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 浏览器探查 5. 突破边界6. 提权6.1 rbash绕过6.2 枚举系统信息6.3 枚举定时任务6.4 枚举可执行文件 7. 获取flag 1. 主机发现 目前只知道目标靶机在65.xx网段&#xff0c…

thinkphp6数据库操作

文章目录 数据库链接 查询构造器查询 添加修改删除链式操作链式操作wheretablefieldpageodrderjoincache 聚合查询分页查询 数据库 链接 在config下有个database.php文件,一般情况下我们配置这个文件即可 return [default > mysql,connections > …

学习记录:2023.4.27

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

Linux命令集(Linux常用命令--cat指令篇)

Linux命令集(Linux常用命令--cat指令篇) Linux常用命令集(cat指令篇)4.cat(concatenate)1. 查看文件内容:2. 连接多个文件:3. 创建文件并通过终端写入内容4. 输出内容编号 Linux常用命令集(cat指…