当前位置: 首页 > news >正文

12.centos7部署sonarqube9.6

12.centos7部署sonarqube9.6

        • 环境:sonarqube9.6+Postgresql13+JDK11
          • sonarqube9.6下载地址:
          • Postgresql13 rpm下载地址:
          • JDK11下载地址:
        • 准备工作:
          • 修改文件句柄数(最大文件数)和用户最大进程数限制
          • 修改进程虚拟内存区域
          • 安装JDK11
          • 安装postgresql13
          • 初始化postgresql
          • 创建sonarqube使用的数据库和用户
        • 安装sonarqube
          • 修改sonar.properties配置文件
          • 启动sonarqube
        • web端配置
          • 汉化
          • 配制(我个人使用过程中遇到的坑)
        • 安装sonar-scanner 用于扫描分析项目
        • 尝试分析一个项目
          • 分析linux下的html项目
          • 分析一个java项目
        • 过程中参考的文献

1.什么是sonarqube

开源的代码质量管理系统,错误、bug、漏洞等等。与jenkins 集成,可完成自动化的扫描

2.使用前提

基于java开发
小型实例需要4gb以上,大型16gb

环境:sonarqube9.6+Postgresql13+JDK11

sonarqube9.6下载地址:
https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.6.1.59531.zip
Postgresql13 rpm下载地址:

客户端下载地址:

https://yum.postgresql.org/13/redhat/rhel-7-x86_64/postgresql13-13.0-1PGDG.rhel7.x86_64.rpm

相关依赖下载地址:

https://yum.postgresql.org/13/redhat/rhel-7-x86_64/postgresql13-libs-13.0-1PGDG.rhel7.x86_64.rpm

服务端下载地址:

https://yum.postgresql.org/13/redhat/rhel-7-x86_64/postgresql13-server-13.0-1PGDG.rhel7.x86_64.rpm
JDK11下载地址:
http://mirror.centos.org/centos/7/os/x86_64/Packages/java-11-openjdk-11.0.8.10-1.el7.x86_64.rpm

或者直接yum安装

yum install java-11-openjdk

准备工作:

修改文件句柄数(最大文件数)和用户最大进程数限制
vim /etc/security/limits.conf#soft nproc :用户可打开的最大进程数量,超过的话会提示
#hard nproc:用户可打开的最大进程数量,超过的话会报错
#soft nofile :每个进程可以打开的最大文件数量,超过的话会提示
#hard nofile :每个进程可以打开的最大文件数量,超过的话会报错...*                soft    nofile          65536
*                hard    nofile          65536
*                soft    nproc           655350
*                hard    nproc           655350# End of file

修改进程虚拟内存区域
vim /etc/sysctl.conf...
vm.max_map_count = 524288 #限制一个进程可以拥有的 VMA ( 虚拟内存区域 ) 的数量 
fs.file-max = 131072 #内核可分配的最大文件数
fs.nr_open = 1048576 #单个进程可分配的最大文件数
fs.inotify.max_user_instances = 65535 #每个用户最大可创建inotify instances数量
fs.inotify.max_user_watches = 102400 #每个用户可同时添加的watch数量...保存后执行,把/etc/sysctl.conf中的参数重新应用到系统中
sysctl -p

安装JDK11
yum install java-11-openjdk		#安装JDK11java -version 	#查看使用的版本...
openjdk version "11.0.18" 2023-01-17 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.18.0.10-1.el7_9) (build 11.0.18+10-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.18.0.10-1.el7_9) (build 11.0.18+10-LTS, mixed mode, sharing)
...alternatives --config java		#切换版本,如果之前装过JDK8,建议装JDK11后,将版本切换一下,然后再写入环境变量,否则后期使用sonar- scanner时候会报错...
共有 2 个提供“java”的程序。选项    命令
-----------------------------------------------
*  1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64/jre/bin/java)+ 2           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64/bin/java)按 Enter 保留当前选项[+],或者键入选项编号:...vim /etc/profile			#设置环境变量,在文件底部加入以下内容...
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.16.1.1-1.el7_9.x86_64	#这里写自己实际的路径
export PATH=${JAVA_HOME}/bin:$PATH...source /etc/profile	#让变量生效

安装postgresql13
yum localinstall -y postgresql13-server-13.0-1PGDG.rhel7.x86_64.rpm 	#安装服务端
yum localinstall -y postgresql13-libs-13.0-1PGDG.rhel7.x86_64.rpm    #安装客户端依赖
yum localinstall -y postgresql13-13.0-1PGDG.rhel7.x86_64.rpm 		#安装客户端

初始化postgresql
1.#创建数据目录
mkdir -p /data/postgresql-13.0/	2.#修改目录的属主属组
chown postgres:postgres -R /data/postgresql-13.0/	3.#初始化pgsql
sudo -u postgres /usr/pgsql-13/bin/initdb --encoding=UTF-8 --username=postgres --pgdata=/data/postgresql-13.0/data	
# --encoding 字符集
# --username 启动用户
# --pgdata 数据目录4.#记录配置文件路径
vim /data/postgresql-13.0/data/postgresql.conf...
# - Connection Settings -listen_addresses = '192.168.xx.xxx'             # what IP address(es) to listen on;
...5.#定义哪些服务器、可以用什么样的方式,访问postgresql
/data/postgresql-13.0/data/pg_hba.conf...
# IPv4 local connections:
host    all             all             0.0.0.0/0               md5
...6.#修改service文件中数据目录
vim /usr/lib/systemd/system/postgresql-13.service...
# Location of database directory
Environment=PGDATA=/data/postgresql-13.0/data/
...
systemctl daemon-reload	#重载服务7.#启动postgresql
systemctl start postgresql-13
systemctl enable postgresql-13  

创建sonarqube使用的数据库和用户
psql -U postgres   #连接数据库(此命令会用postgres用户,默认连入postgres数据库。-U指定用户 -d指定数据库)#新建用户sonarqube,密码xxxxxx
create user sonarqube with password 'xxxxxx';#创建数据库sonarqube_9_6并指定owner为sonarqube
create database sonarqube_9_6 with owner sonarqube;#授权sonarqube用户在数据库sonarqube_9_6拥有所有权限
grant all on database sonarqube_9_6 to sonarqube;

安装sonarqube

#创建用户sonar,因为sonarqube会用到ES,ES不能用root用户启动
useradd sonar#解压包
unzip sonarqube-9.6.1.59531.zip	#修改目录的属主属组
chown -R sonar:sonar sonarqube-9.6.1.59531/#备份原始配置文件
cd sonarqube-9.6.1.59531/conf/
cp sonar.properties sonar.properties_bak
修改sonar.properties配置文件
#postgresql连接配置
sonar.jdbc.username=sonarqube
sonar.jdbc.password=xxxxxx
sonar.jdbc.url=jdbc:postgresql://xx.xx.xx.xx:5432/sonarqube_9_6#端口配置
sonar.web.port=9000
启动sonarqube
sudo -u sonar /opt/sonarqube-9.6.1.59531/bin/linux-x86-64/sonar.sh start

web端配置

初始用户名密码:admin/admin

登录后的样子(我提前汉化过):

在这里插入图片描述


汉化

下载汉化包

下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-9.6

安装汉化包

将下载好的汉化包(sonar-l10n-zh-plugin-9.6.jar)移动到插件目录下即可/opt/sonarqube-9.6.1.59531/extensions/plugins/然后重启一下sonarqube服务即可
sudo -u sonar /opt/sonarqube-9.6.1.59531/bin/linux-x86-64/sonar.sh restart

配制(我个人使用过程中遇到的坑)

1.配制中开启 Allow users to sign-up
允许新用户进行身份验证。设置为“false”时,只有现有用户才能对服务器进行身份验证。
在这里插入图片描述

2.关掉Force user authentication
关掉强制用户身份验证
在这里插入图片描述

3.开启SCM
在这里插入图片描述


安装sonar-scanner 用于扫描分析项目

不一定要和sonarqube装到一个系统下,在哪扫就装哪

下载地址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.8.0.2856-linux.zip#解压
unzip sonar-scanner-cli-4.8.0.2856-linux.zip -d /usr/local/	#创建软连接
ln -s /usr/local/sonar-scanner-cli-4.8.0.2856-linux/ /usr/local/sonar-scanner	#将 bin 目录添加到 PATH 环境变量
vim /etc/profile...
export PATH=/usr/local/sonar-scanner/bin:$PATH
...#环境变量生效
source /etc/profile

尝试分析一个项目

分析linux下的html项目

1.创建一个分析项目
在这里插入图片描述

2.点击创建令牌

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

3.例如分析一个html的项目
将下列代码在项目的根目录执行即可

在这里插入图片描述

4.在项目根目录执行指令
在这里插入图片描述

5.成功
在这里插入图片描述

6.在web端查看分析的项目
点击Bugs查看问题即可
在这里插入图片描述


分析一个java项目

1.前提是系统中已经安装了maven

在这里插入图片描述

2.在项目根目录执行指令
在这里插入图片描述

3.成功
在这里插入图片描述

4.然后在web端就可以看到分析的项目
在这里插入图片描述

5.点击Bugs可以看到问题的具体位置
在这里插入图片描述

6.点击问题原因,会告诉你该怎么修改代码,才能符合要求
在这里插入图片描述

过程中参考的文献

https://blog.csdn.net/qq522044637/article/details/126840161

https://blog.csdn.net/lizz861109/article/details/124869197

https://blog.csdn.net/weixin_41753664/article/details/122452178

https://www.656463.com/wenda/SonarQubefwqzzyxdwffwbqwzd404_180

https://community.sonarsource.com/t/java-lang-unsupportedclassversionerror-org-sonar-batch-bootstrapper-environmentinformation-has-been-compiled-by-a-more-recent-version-of-the-java-runtime-class-file-version-55-0-this-version-of-the-java-runtime-only-recognizes-class-file-versions-up-t/52120

相关文章:

12.centos7部署sonarqube9.6

12.centos7部署sonarqube9.6环境:sonarqube9.6Postgresql13JDK11sonarqube9.6下载地址:Postgresql13 rpm下载地址:JDK11下载地址:准备工作:修改文件句柄数(最大文件数)和用户最大进程数限制修改…...

大学四年自学Java编程,现在拿到28万年薪的offer,还是觉得挺值的

最近刚拿到美团的Java后端工程师的offer,(底薪、奖金、补贴、年终奖、五险一金)总包加在大概有28万的年薪,实际到手不会有这么多,但是我对于这个待遇还是非常满意的。说来还是非常的感慨,我属于那种从大一到…...

MySQL的日志详解

目录 一.介绍 日志分类 二.错误日志 三.二进制日志—binlog 概述 日志格式 操作 四.查询日志 五.慢查询日志 一.介绍 在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的…...

输出该股票所有收盘比开盘上涨3%以上的日期

1:输出该股票所有收盘比开盘上涨3%以上的日期 #codingutf-8 import tushare as ts import pandas as pd import numpy as np#获取某支股票的历史行情数据 dfts.get_hist_data(code600519,start2001-01-01) #将互联网上的数据获取并且存储到本地 df.to_csv(./maotai…...

数值卡,让数据可视化玩出新花样丨三叠云

数值卡 路径 仪表盘 >> 仪表盘设计 功能简介 1. 数值卡增加「数值标题」、「图标」、「进度条」功能,使得应用场景更为广泛,实现数据可视化,让用户能够轻松地获取、处理信息。 2.「数据模型」支持0个维度1个指标、1个维度1个指标。…...

有这几个表现可能是认知障碍前兆

我国目前对于认知障碍的认知率、就诊率、诊断率很低,然而认知障碍如果能在早期发现,并及时治疗,生活质量会有效提高,缓解家属的精神和经济负担。所以,认知障碍的前兆一定要了解。1.记忆力减退,一周内的重要…...

java面试题-阿里真题详解

前言 大家好,我是局外人一枚,最近有不少粉丝去阿里巴巴面试了,回来之后总结不少难题给我,以下是面试的真题,跟大家一起来讨论怎么回答。 阿里一面 1、说⼀下ArrayList和LinkedList区别 ⾸先,他们的底层数…...

JSON格式解析关键词搜索API

为了进行此平台API的调用,首先我们需要做下面几件事情。 1、 获取一个KEY。 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口,响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心和API测试工具,对接口进…...

【Java基础】泛型(二)-泛型的难点:通配符

本文将尝试将通配符和泛型中的继承,多态一并讲解 关于泛型中继承的注意事项 因为Integer、Double继承了Number,根据多态性,以下语句是合法的 Number n new Integer(10); // OK, 父类引用变量可以指向子类对象 n 2.9 // OK,n实…...

黑马】后台管理-两个括号的坑

记录一下这两天的坑没想到后台管理系统上线这两天都没有搞明白1.首先第一个坑是使用node.js的express中间件框架创建一个微型服务器,然后将vue脚手架生成的dist文件夹的文件放入里面了 ,把项目加载到web服务器之后运行node .\app.js,页面显示…...

05:进阶篇 - 使用 CTKWidgets

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 CTKWidgets 包含了一组 Qt 部件,用于生物医学成像应用程序。当然,即使你的程序与医学无关,很多部件也是很有参考意义的。 在 CTK 源码中,有很多选项开关,可以控制你想要编译的内容(详见:04:进阶篇 …...

【YOLO V5】代码复现过程

接上篇,讲到如何从mask转成YOLOv5训练需要的txt数据集格式,这篇就在此基础上进行模型训练预测和部署转换吧! 目录 1.环境准备 2.YOLO训练 2.1 数据集准备 2.2 data.yaml准备 2.3 yolov5.yaml准备 2.4 训练命令 3.YOLO预测 3.1OLOv5 P…...

汽车如何实现制动

汽车如何实现制动 汽车如何实现制动 难点答疑:汽车刹车时,四个车轮是如何制动的?制动机理是什么? 第一步:驾驶员踩下制动踏板,推动制动主缸 第二步:制动主缸将制动液的压力通过制动管道传递到四…...

cmake 引入第三方库(头文件目录、库目录、库文件)

程序的编写需要用到头文件,程序的编译需要lib文件,程序的运行需要dll文件,因此cmake引入第三方库其实就是将include目录、lib目录、bin目录引入工程。 目录 1、find_package(批量引入库文件和头文件) 2、include_dir…...

插件开发版|Authing 结合 APISIX 实现统一可配置 API 权限网关

当开发者在构建网站、移动设备或物联网应用程序时,API 网关作为微服务架构中不可或缺的控制组件,是流量的核心进出口。通过有效的权限管控,可以实现认证授权、监控分析等功能,提高 API 的安全性、可用性、拓展性以及优化 API 性能…...

deepinlinux v20安装rust和tauri并配置vscode开发工具过程

rust 很快进入linux内核开发,作为高效后台语言值得学习 tauri是代替electron的跨平台框架,不打包浏览器内核,所以打包出来体积小 安装rust 命令 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh 安装后看版本 rustc -V 看构…...

通俗易懂的机器学习——sklearn鸢尾花分类(KNN)

前言 KNN算法是机器学习中较为简单的入门算法,其主要思想是选取k个与待预测点相近的数据,观察他们的类别,本着离谁近就更像谁的思路对于待预测点进行预测,本文将针对使用sklearn进行KNN算法的使用进行详解 数据预处理 在正式开…...

操作系统引论

操作系统是管理硬件和软件的一种应用程序。操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件。它为计算机硬件和软件提供了一种中间层,使应用软件和硬件进行分离,让我们无需关注硬件的实现&#xff0…...

优质 CS 读博 (PhD) 经验贴汇总

前言 如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 Advice for early-stage Ph.D. students 读博的核心是在研究上取得进展,只有在研究上取得一些进展&#xff…...

SpringCloud学习笔记 - @SentinelResource的fallbackblockHandler配置详解 - sentinel

1. sentinel服务负载均衡测试 sentinel默认开启了负载均衡的轮询模式,为了测试sentinel服务负载均衡的效果,需要先创建两个服务提供者和一个服务消费者。 1.1. 分别创建两个服务提供者-支付服务9003、9004 1. 添加pom依赖: 提供者只需要将…...

华为OD机试题 - 静态扫描最优成本(JavaScript)

最近更新的博客 2023新华为OD机试题 - 斗地主(JavaScript)2023新华为OD机试题 - 箱子之形摆放(JavaScript)2023新华为OD机试题 - 考古学家(JavaScript)2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)2023新华为OD机试题 - 最多等和不相交连续子序列(JavaScri…...

mysql大数据量批量提交

DROP PROCEDURE IF EXISTS test.insert_bacth_commit_test1;CREATE PROCEDURE test.insert_bacth_commit_test1()begindeclare start_num int default 0; -- 初始设置起始行数declare end_num int default 5;-- 初始设施结束行数declare cnt_srouce int default 0; -- 定义源表…...

IP SAN组网配置

目录一、确认网络连接畅通二、服务器端ISCSI启动器配置1.以root身份登录2.验证是否已安装iSCSI启动器3.安装iSCSI启动器4.启动iSCSI服务5.给iSCSI启动器命名6.扫描目标器7.登录目标器8.将登录目标器行为设置为自启动三、主机多路径配置四、存储配置五、主机挂载背景&#xff1a…...

面试7分看能力,3分靠嘴皮,剩下90分就靠这份Java面试八股文

有句话说的好,面试中7分靠能力,3分靠嘴皮刚开始面试的时候,介绍项目一般都是凸显我们技能的重中之重,它对一次面试的成败可以说具有决定性作用,这就涉及到我们的表达能力了,有人说我其实水平都在线&#xf…...

api接口如何对接?

对于很多产品小白或求职者而言,API接口是一个产品和研发领域的专业术语,大家可能在文章或者PRD中都已经有接触过API接口的概念。 实际上,接口的应用已经非常广泛和成熟,这个概念主要活跃在公司内部的各系统之间的衔接和对接以及公…...

毕业2年不到选择跳槽,居然拿到25K的薪资,简直了···

本人本科就读于某普通院校,毕业后通过同学的原因加入软件测试这个行业,角色也从测试小白到了目前的资深工程师,从功能测试转变为测试开发,并顺利拿下了某二线城市互联网企业的Offer,年薪 30W 。 选择和努力哪个重要&am…...

Java反序列化漏洞——CommonsCollections3链分析

一、原理CC1链中我们是通过调用Runtime.getRuntime.exec()来执行系统命令,而另一个方向我们可以通过TemplatesImpl加载字节码的类,通过调⽤其newTransformer() 方法,即可执⾏这段字节码的类构造器,我们在类构造器中加入恶意代码&a…...

英文论文(sci)解读复现【NO.5】让RepVGG再次变得更强大:一种量化感知方法

此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的SCI论文&am…...

hive学习(仅供参考)

hive搭建Hive什么是hiveHive的优势和特点hive搭建解压、改名修改环境变量添加hive-site.xml将maven架包拷贝到hive替换一下gua包使环境变量生效初始化安装成功Hive 什么是hive 将结构化的数据文件映射为数据库表 提供类sql的查询语言HQL(Hive Query Language) Hive让更多的人…...

新生儿住月子中心20天患败血症 什么是败血症?有哪些危害

12月7日,四川眉山市民唐先生说,他刚出生的儿子在妇产医院分娩中心住了20天后感染了败血症。据唐先生介绍,哈子出院时各项指标正常。他在分娩中心住了半个月左右,孩子喝牛奶异常易怒,第二天开始发烧。当天,在…...

深圳龙华网站公司/seo分析师

在本文中,我们将介绍如何清除Linux终端。1)clear命令让我们假设你的终端填满了命令和输出,如下所示,在终端提示符的底部运行clear。结果终端屏幕被清除,如下所示2)reset命令就像上面的例子一样,你需要在终端的底部运行…...

网站制作优化济南/长春网站优化流程

写在前面 笔记内容大多出自于拉勾教育大前端高薪训练营的教程,因此也许会和其他文章雷同较多,请担待。 Yeoman $ npm i yo -g / $ yarn global add yo $ npm i generator-node -g / $ yarn global add generator-node // 基于node的开发脚手架&#x…...

互联网装修服务平台/新人学会seo

本文为 AI 研习社编译的技术博客,原标题 :Python: How To Reduce Memory Consumption By Half By Adding Just One Line Of Code?作者 | Alex Maison翻译 | 邓普斯•杰弗校对 | 酱番梨 整理 | 菠萝妹原文链接:https://medium.com/alexmaisiu…...

wordpress的tb show/公司网站怎么弄

1.求数组元素个数:sizeof (num)/num[0]。 2.指定初始化项目(C99): int arr[6]{[5]212};//未初始化的元素都被设置为0特性:a)如果在一个指定初始化项目后跟有不知一个值,则这些值用来对后续的数…...

郴州新网手机版新/关键词排名关键词优化

文章目录概述目标检测模型概述使用COCO2017体验YOLOv5下载项目和权重下载处理COCO2017数据训练YOLOv5导出模型到其他框架模型推理detect.py模型的输入输出尺寸letterboxnon_max_suppressionMNN安装转化代码测试模型的超参数模型的训练数据文件组织意外中断后恢复训练&#xff0…...

网站建设套餐价格/178软文网

django安装和启动适用系统django安装包django安装方法1(推荐)django安装方法2django启动方法1(推荐)django启动方法2适用系统 安装django: windows启动django: windows / linux django安装包 django官网下载:https://www.djangoproject.com/download/百度网盘安装…...