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

linux下安装SonarQube

目录

      • 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.在<profiles>标签里面添加一个profile
<profile><id>sonar</id><activation><activeByDefult>true</activeByDefult></activation><properties><sonar.login>admin</sonar.login><sonar.password>123456</sonar.password><sonar.host.url>http://192.168.225.23:8888</sonar.host.url></properties></profile>
2.在<settings>标签末尾添加这个<activeProfiles><activeProfile>sonar</activeProfile></activeProfiles>
3.此时打开一个maven项目构建一下,如下图

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

相关文章:

linux下安装SonarQube

目录1. 准备安装环境2. 安装postgres数据库3. 安装SonarQube4. 使用SonarQube1. 准备安装环境 这里安装SonarQube的系统环境是Red Hat Enterprise Linux release 8.7 &#xff0c;然后将jdk的压缩包&#xff08;jdk-17.0.2_linux-x64_bin.tar.gz&#xff09;和sonarQube的压缩…...

MyBatis-Plus(狂神)

一.特点 无侵入&#xff1a;只做增强不做改变&#xff0c;引入它不会对现有工程产生影响&#xff0c;如丝般顺滑损耗小&#xff1a;启动即会自动注入基本 CURD&#xff0c;性能基本无损耗&#xff0c;直接面向对象操作强大的 CRUD 操作&#xff1a;内置通用 Mapper、通用 Serv…...

Python3实现写作

导语T_T没有科研梦想的人半夜过来水篇文章~~~让Python学会写写歌&#xff0c;创创作~~~纯属娱乐~~~改编自PyTorch官网的一个教程&#xff0c;不过我用TF写的&#xff0c;然后生成英文变成了生成中文~~~Lets Go~~~相关文件百度网盘下载链接: https://pan.baidu.com/s/1VUEFR82Cq…...

UEFI实战--------HII之uni文件

uni文件 HII的实现涉及到多种不同类型的文件&#xff0c;uni文件是其中最简单的一种&#xff0c;它用来存放各种语言的字符串以实现本地化。本节主要参考自《edk-ii-uni-specification.pdf》&#xff0c;后面简称为参考文档。 关于uni文件的作用&#xff0c;在参考文档中做了如…...

基于Spring Boot集成MyBatis-3.5.9操作数据库

记录&#xff1a;382场景&#xff1a;在Spring Boot 2.6.3中集成MyBatis 3.5.9操作数据库。实现MyBatis的查、增、改、删操作数据库示例。MyBatis官网&#xff1a;http://www.mybatis.org/MyBatis源码&#xff1a;https://github.com/mybatis/1.初始化准备1.1创建Maven工程使用…...

了解国外SEO负面压制的现状与应对策略!

随着全球化的发展&#xff0c;越来越多的企业和品牌开始将目光转向海外市场&#xff0c;而谷歌作为全球最大的搜索引擎之一&#xff0c;也成为了外贸企业最主要的搜索引擎之一。 然而&#xff0c;随着谷歌的不断发展&#xff0c;国外SEO负面压制的现状也愈发严峻&#xff0c;外…...

Yolov5-交通标志检测与识别

项目介绍 上一篇文章介绍了基于卷积神经网络的交通标志分类识别Python交通标志识别基于卷积神经网络的保姆级教程&#xff08;Tensorflow&#xff09;&#xff0c;并且最后实现了一个pyqt5的GUI界面&#xff0c;并且还制作了一个简单的Falsk前端网页实现了前后端的一个简单交互…...

Linux内核Thermal框架详解五、Thermal Core(4)

本文部分内容参考Linux Thermal 学习笔记 - 爱码网。特此致谢&#xff01; 接前一篇文章Linux内核Thermal框架详解四、Thermal Core&#xff08;3&#xff09; 三、相关源码及分析 2. thermal_register_governors 上一回说到这一段代码&#xff1a; for (__governor __gove…...

gcc 编译的过程

#include <stdio.h> #define PI 3.14 int main(int argc, char const *argv[]) { //打印IP的值printf("PI %lf\n", PI);return 0; }编译的过程&#xff1a;预处理、编译、汇编、链接1.预处理&#xff1a;宏替换、删除注释、头文件包含、条件编译 -E &#xf…...

Hadoop入个门

文章目录1️⃣、Hadoop概述1.1、Hadoop是什么1.2、三大发行版本1.3、优势1.4、组成HDFSYARNMapReduceHDFS、YARN、MapReduce三者关系1.6、大数据技术生态体系image-202303111027195802️⃣、Hadoop运行环境搭建2.1、虚拟机环境准备2.2、克隆虚拟机2.3、在hadoop2上安装JDK2.4、…...

python 从0到批量下载某站视频

简介&#xff1a;真实从0到1&#xff0c;童叟无欺&#xff5e; 目标&#xff1a;用python批量下载某站搜索视频&#xff0c;以“CG 服装”为例 本章主要介绍如何用python把搜索到的视频直接下载到自己的本地文件夹中&#xff5e; 介绍一下工作流1. 下载并安装python2. 测试pyt…...

【深度学习】神经网络和深度学习--卷积和池化的作用

深度学习通常指训练大型深度的神经网络的过程。 与传统的神经网络模型相比&#xff0c;深度学习模型在结构上与之非常相似&#xff1b;不同的是&#xff0c;深度学习模型的“深度”更大&#xff0c;“深度”的体现就是神经网络层数多&#xff0c;神经网络每一层的结点数多。 本…...

锦正茂风冷系列电源JCP-10-80的技术参数

JCP-10-80为高稳定度的双极性恒流电源&#xff0c;广泛应用于电磁铁、亥姆霍兹线圈等感性负载的励磁。电源采用线性电源结构&#xff0c;输出电流稳定度高&#xff0c;纹波和噪声低。电源输出电流可在正负额定电流*值之间连续变化&#xff0c;电流平滑连续过零&#xff0c;可使…...

Idea+maven+spring-cloud项目搭建系列--11-1 dubbo(zookeeper,nacos)注册中心

前言&#xff1a;dubbo rpc 服务需要将服务提供者和消费者信息进行注册&#xff0c;以便于消费端可以完成远程接口调用&#xff1b;注册中心是 Dubbo 服务治理的核心组件&#xff0c;Dubbo 依赖注册中心的协调实现服务&#xff08;地址&#xff09;发现&#xff0c;自动化的服务…...

Python3入门教程||Python3 迭代器与生成器||Python3 函数

Python3 迭代器与生成器 迭代器 迭代是 Python 最强大的功能之一&#xff0c;是访问集合元素的一种方式。。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问&#xff0c;直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两…...

快速幂算法

快速幂算法 文章目录快速幂算法一、简单介绍二、计算7107^{10}710三、一般化1、计算ana^nan的快速方法&#xff1a;2、时间复杂度分析&#xff1a;四、代码五、参考资料一、简单介绍 ​ 快速幂&#xff08;Exponentiation by squaring&#xff0c;平方求幂&#xff09;是一种简…...

Hudi:问题总结(2)Flink-1.13.1消费kafka并插入hudi

问题一&#xff1a;java.lang.ClassNotFoundException: com.google.protobuf.MessageOrBuilder) 解决&#xff1a;字面意思&#xff0c;没找到类&#xff0c;将protobuf-java-3.2.0-jar包放到fink/lib/下 如果报commons-cli相关的错&#xff0c;就将commons-cli-1.4.jar放到f…...

Application工具方法

//注册这个接口registerActivityLifecycleCallbacks(activityLifecycleCallbacks);}Overridepublic void onTerminate() {//注销这个接口。unregisterActivityLifecycleCallbacks(activityLifecycleCallbacks);super.onTerminate();}public static List<Activity> activi…...

电脑游戏怎么录屏?其实很简单,只需要简单3步

电脑游戏一直是游戏爱好者最热衷的游戏之一。但是&#xff0c;有时候我们想分享我们在游戏中的精彩时刻&#xff0c;或者记录我们的游戏过程以便后续观看和学习。在这种情况下&#xff0c;录屏就成了必不可少的工具。但是&#xff0c;许多人可能不知道电脑游戏怎么录屏。在本文…...

【设计模式】go语言中的 [函数选项,单例,工厂,责任链] 常用的设计模式

文章目录前言一、函数选项模式二、单例模式三、工厂模式四、责任链模式前言 宿舍每人 温度38℃&#xff0b; 大寄 设计模式很重要&#xff0c;设计模式其实就是为了解决某一类问题而形成的代码写法&#xff0c;设计模式很多&#xff0c;但是并不是每个都很常用&#xff0c;我们…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...