CentOS7部署SonarQube 9.9.4 LTS

文章目录

  • 下载地址
  • 前置条件
  • 安装sonarqube
    • 创建用户
    • 解压
    • 修改`sonar.properties`配置文件
  • 启动sonarqube
    • 开启防火墙端口
    • 启动报错
    • 访问SonarQube
      • 安装汉化包
  • 安装sonar-scanner

下载地址

社区稳定版本
在这里插入图片描述

版本依赖关系

Prerequisites and overview (sonarsource.com)

前置条件

  • JDK11安装

    或者根据依赖关系,自己安装相应的jdk版本

  • 安装Postgresql14

    或者根据依赖关系,自己安装相应的postgresql版本

    # 新建用户sonarqube,密码xxxxxx
    CREATE USER sonarqube WITH ENCRYPTED PASSWORD 'sonarqube';
    # 创建数据库sonarqube_9_9并指定owner为sonarqube
    CREATE DATABASE sonarqube_9_9 WITH OWNER sonarqube;
    # 授权sonarqube用户在数据库sonarqube_9_9拥有所有权限
    GRANT ALL PRIVILEGES ON DATABASE sonarqube_9_9 TO sonarqube;
    

安装sonarqube

创建用户

#创建用户sonar,因为sonarqube会用到ES,ES不能用root用户启动
useradd sonar

解压

#解压包
unzip sonarqube-9.9.4.87374.zip	#修改目录的属主属组
chown -R sonar:sonar sonarqube-9.9.4.87374/

修改sonar.properties配置文件

#备份原始配置文件
cd sonarqube-9.9.4.87374/conf/
cp sonar.properties sonar.properties_bak
#postgresql连接配置
vim sonar.propertiessonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:postgresql://xx.xx.xx.xx:5432/sonarqube_9_9#端口配置
sonar.web.port=9000

启动sonarqube

sudo -u sonar /opt/sonarqube-9.9.4.87374/bin/linux-x86-64/sonar.sh start

开启防火墙端口

firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload #修改后需要重新加载防火墙生效# 显示success表示成功
# –zone=public表示作用域为公共的
# –add-port=9000/tcp添加tcp协议的端口端口号为9000
# –permanent永久生效,如果没有此参数,则只能维持当前 服 务生命周期内,重新启动后失效;

启动报错

可以查看/opt/sonarqube-9.9.4.87374/logs下的sonar.loges.log,如果这俩日志都没生成,那大概率是jdk的编译版本不对。需要升级jdk或者降级sonarqube。

2024.03.05 13:40:58 ERROR es[][o.e.b.Bootstrap] node validation exception
[2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
2024.03.05 13:40:58 INFO  es[][o.e.n.Node] stopping ...
2024.03.05 13:40:58 INFO  es[][o.e.n.Node] stopped
2024.03.05 13:40:58 INFO  es[][o.e.n.Node] closing ...
2024.03.05 13:40:58 INFO  es[][o.e.n.Node] closed

这两个错误都是由系统限制引起的,以下是解决方案:

  1. max file descriptors is too low:

    • 这个错误表示 Elasticsearch 进程所允许的最大文件描述符数量太低了。您可以通过以下步骤增加文件描述符的限制:

      编辑 /etc/security/limits.conf 文件:在文件末尾添加如下两行:

      * soft nofile 65535
      * hard nofile 65535
      
  2. max virtual memory areas vm.max_map_count is too low:

    • 这个错误表示虚拟内存区域的数量限制太低了。您可以通过以下步骤增加最大虚拟内存区域数量:
      • 临时修改值:执行命令 sudo sysctl -w vm.max_map_count=262144
      • 永久修改值:编辑 /etc/sysctl.conf 文件,在末尾添加:vm.max_map_count=262144,然后运行 sudo sysctl -p 生效。

访问SonarQube

初始用户名密码:admin/admin
在这里插入图片描述

安装汉化包

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

# 将下载好的汉化包jar文件移动到插件目录下
/opt/sonarqube-9.9.4.87374/extensions/plugins# 然后重启sonarqube服务
sudo -u sonar /opt/sonarqube-9.9.4.87374/bin/linux-x86-64/sonar.sh restart

安装sonar-scanner

用于扫描分析项目

# 不一定要和sonarqube装到一个系统下,在哪扫就装哪
# 下载地址
https://docs.sonarsource.com/sonarqube/9.9/analyzing-source-code/scanners/sonarscanner/# 解压在 opt 目录
cd /opt
unzip sonar-scanner-cli-5.0.1.3006-linux.zip# 修改配置文件
cd /opt/sonar-scanner-5.0.1.3006-linux/conf
# 先备份配置文件
cp sonar-scanner.properties sonar-scanner.properties.bak
# 再修改
vim sonar-scanner.propertiessonar.host.url=http://xx.xx.xx.xx:9000
sonar.sourceEncoding=UTF-8# 在 /etc/profile 的末尾添加环境变量
vim /etc/profileexport SONAR_SCANNER_HOME=/opt/sonar-scanner-5.0.1.3006-linux
export PATH=$SONAR_SCANNER_HOME/bin:$PATH# 环境变量立即生效
source /etc/profile# 检查一下命令是否可用
sonar-scanner -v
[root@ps-cnrjkflc-01 conf]# sonar-scanner -v
INFO: Scanner configuration file: /opt/sonar-scanner-5.0.1.3006-linux/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarScanner 5.0.1.3006
INFO: Java 17.0.7 Eclipse Adoptium (64-bit)
INFO: Linux 3.10.0-1160.el7.x86_64 amd64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/522553.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集合面试题(day 02)

📑前言 本文主要是【JAVA】——Java集合面试题的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&am…

鞋服品牌怎样合理把控订货深度和宽度

在鞋服品牌的运营管理中,订货深度和宽度是两个至关重要的概念。订货深度指的是某一款式或规格的产品数量,而订货宽度则代表品牌所涵盖的产品种类和款式。合理把控订货深度和宽度对于品牌的库存管理、销售情况以及顾客满意度都有着深远的影响。本文将探讨…

电脑小问题:Windows更新后黑屏

Windows 更新后黑屏解决方法 在 Windows 更新后,伴随了一个小问题,电脑启动后出现了桌面黑屏。原因可能是火绒把 explorer.exe 当病毒处理了。 下面讲解 Windows 更新后黑屏的解决方法,步骤如下: 1. 按 ctrl alt delete 组合键…

Linux centos 常用的网络负载和网速查看工具和命令

在 CentOS 上查看网络速度和网络负载,可以使用多种工具,以下是一些常用的命令行工具: iftop - 用于实时监视网络带宽使用情况。 安装命令: sudo yum install iftop 使用命令: sudo iftop nload - 一个简单的控制…

最新基于R语言lavaan结构方程模型(SEM)实践技术应用

基于R语言lavaan程序包,通过理论讲解和实际操作相结合的方式,由浅入深地系统介绍结构方程模型的建立、拟合、评估、筛选和结果展示的全过程。我们筛选大量经典案例,这些案例来自Nature、Ecology、Ecological Applications、Journal of Ecolog…

react-native使用react-native-reanimated报错

error信息: Error: [Reanimated] UpdatePropsManager is not available on non-native platform. 解决方案一: 简单粗暴不在浏览器里看打印,关闭debugger即可。 解决方案二: 找到这个ts文件然后注释掉相关代码 然后给这个包打上…

LeetCode 刷题 [C++] 第3题.无重复字符的最长子串

题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 题目分析 可以使用滑动窗口加哈希表来实现: 使用start和end两个变脸来表示滑动窗口的头部位置和尾部位置,两者开始均为0;借助哈希表来记录已经遍…

【微信小程序】基本语法

目录 一、列表渲染&#xff08;包括wx:for改变默认&#xff09; 二、事件冒泡和事件捕获 三、生命周期 一、列表渲染&#xff08;包括wx:for改变默认&#xff09; 1、列表渲染(wx-for、block 改变默认wx:for item等) <view> {{msg}} </view> //渲染跟普通vu…

【JavaEE初阶】 JVM类加载简介

文章目录 &#x1f343;前言&#x1f332;类加载过程&#x1f6a9;加载&#x1f6a9;验证&#x1f6a9;准备&#x1f6a9;解析&#x1f6a9;初始化 &#x1f384;双亲委派模型&#x1f6a9;什么是双亲委派模型&#xff1f;&#x1f6a9;双亲委派模型的优点 ⭕总结 &#x1f343…

JVM-虚拟机栈概述

背景&#xff1a;由于跨平台的设计&#xff0c;java指令都是根据栈来设计的。不同平台CPU架构不同&#xff0c;所以不能设计为基于寄存器。 栈是运行时单位&#xff0c;而堆是存储的单位。即&#xff1a;栈解决程序运行的问题&#xff0c;即程序如何执行&#xff0c;或者说如何…

YOLO建筑物损伤评估数据集

YOLO建筑物损伤评估数据集&#xff0c;重度损伤&#xff0c;轻微损伤&#xff0c;中度损伤&#xff0c;未损伤4类&#xff0c;近五千张图像&#xff0c;yolo标注完整&#xff0c;应用数据增强。 适用于CV项目&#xff0c;毕设&#xff0c;科研&#xff0c;实验等 需要此数据集…

老司机都懂的!【打赏】完美运营的最新视频打赏系统

完美运营的最新视频打赏系统优于市面上95%的打赏系统&#xff0c;与其他打赏系统相比&#xff0c;功能更加强大&#xff0c;完美运营且无bug。支付会调、短链接生成、代理后台、价格设置和试看功能等均没有问题。 以上为原简介&#xff0c;经测试验证。成功搭建并可以正常进入…