持续集成交付CICD:CentOS 7 安装 Sonarqube9.6

news2025/2/27 5:38:57

目录

一、实验

1.CentOS 7 安装 Sonarqube9.6

二、问题

1.安装postgresql13服务端报错

2.postgresql13创建用户报错


一、实验

1.CentOS 7 安装 Sonarqube9.6

(1)下载软件及依赖包

①Sonarqube9.6下载地址

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.6.1.59531.zi

②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-1PG

③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

(2)环境配置

①修改文件句柄数(最大文件数)和用户最大进程数限制

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

(3)安装JDK11

yum install java-11-openjdk		#安装JDK11

java -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           /usr/java/jdk-11.0.15.1/bin/java
   2           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.21.0.9-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	#让变量生效

(4)安装Postgresql13

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

(5)初始化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
vim /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  

①创建数据目录、修改目录的属主属组

②初始化pgsql

③初始化pgsql

④记录配置文件路径

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

⑥修改service文件中数据目录

⑦重载服务、启动postgresql

(6)创建sonarqube使用的数据库和用户

psql -U postgres   #连接数据库(此命令会用postgres用户,默认连入postgres数据库。-U指定用户 -d指定数据库)
 
#新建用户sonarqube,密码xxxxxx
CREATE USER sonarqube WITH ENCRYPTED PASSWORD 'xxxxxx';
 
#创建数据库sonarqube_9_6并指定owner为sonarqube
CREATE DATABASE sonarqube_9_6 WITH OWNER sonarqube;

 
#授权sonarqube用户在数据库sonarqube_9_6拥有所有权限
GRANT ALL PRIVILEGES ON DATABASE sonarqube_9_6 TO sonarqube;



①连接数据库

②新建用户sonarqube

③创建数据库sonarqube_9_6并指定owner为sonarqube

④授权sonarqube用户在数据库sonarqube_9_6拥有所有权限

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

#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

②解压包

③修改目录的属主属组

④备份原始配置文件

(8)修改sonar.properties配置文件

#postgresql连接配置
vim sonar.properties

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

① 修改配置文件

(9)启动sonarqube

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

(10)web端配置

初始用户名密码:admin/admin

登录后修改密码

(11)安装汉化包

将下载好的汉化包(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

(12)配置

1)配制中开启 Allow users to sign-up
允许新用户进行身份验证。设置为“false”时,只有现有用户才能对服务器进行身份验证。

2)关掉Force user authentication
关掉强制用户身份验证

3)开启SCM

(13) 安装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

①解压

②创建软连接

③将 bin 目录添加到 PATH 环境变量

④环境变量生效

(14) 分析一个项目

二、问题

1.安装postgresql13服务端报错

(1)报错

(2)原因分析

依赖JDK11

(3)解决方法

安装JDK11

2.postgresql13创建用户报错

(1)报错

(2)原因分析

语法错误

(3)解决方法

CREATE USER youruser WITH ENCRYPTED PASSWORD 'yourpass';
GRANT ALL PRIVILEGES ON DATABASE yourdbname TO youruser;

成功

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

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

相关文章

欧洲各国及发达国家经济支柱和第一出口商品是什么

工业在欧洲各国经济支柱中的表现 一般发达国家,像西欧的国家第三产业即服务业占GDP70%甚至更高,从业人数比重也最大,只是越发达的国家服务业的知识性和科技含量会更高,如商业咨询、律师、医疗卫生、科技服务、商业服务。服务业的…

布隆过滤器,Redis之 bitmap,场景题【如果微博某个大V发了一条消息,怎么统计有多少人看过了】

学习文档 文章目录 一、什么是 Bitmap1-1、Bitmap 相关命令 二、Bitmap 和 Set 对比2-1、数据准备2-2、内存对比2-3、性能对比 三、布隆过滤器3-1、理论3-2、代码实现 四、Java中的 Hash 函数 最近面试时,遇到了一个场景题,面试官问如何统计一条微博大V的…

计算机网络扫盲(1)——因特网

一、概述 因特网是一个世界范围的计算机网络,即它是一个互联了遍及全世界数十亿计算设备的网络。大家对此应该并不陌生,我们身边有着不计其数的计算机设备被接入了因特网,如今计算机网络这个术语似乎已经有点过时了,用因特网的术语…

结合贝叶斯定理浅谈商业银行员工异常行为排查

1.贝叶斯定理的数学表达 贝叶斯方法依据贝叶斯定理。关于贝叶斯定理解释如下:首先我们设定在事件B条件下,发生事件A的条件概率,即 ,从数学公式上,此条件概率等于事件A与事件B同时发生的概率除以事件B发生的概率。 上述…

MyBatis增删改查和配置文件

MyBatis增删改查 MyBatis新增 新增用户 持久层接口添加方法 void add(User user);映射文件添加标签 <insert id"add" parameterType"com.mybatis.pojo.User">insert into user(username,sex,address) values(# {username},# {sex},# {address}) <…

海林猴头菇 区域公用品牌形象正式发布

猴头菇是中国八大“山珍”之一&#xff0c;自古就有“山珍猴头&#xff0c;海味燕窝”之说&#xff0c;猴头菇在中国既是食用珍品&#xff0c;又是重要的药用菌。 海林市位于黑龙江省东南部&#xff0c;地处长白山脉张广才岭东麓&#xff0c;素有“林海雪原”之称。 海林猴头菇…

虚函数表和虚函数在内存中的位置

文章目录 结论验证 结论 虚函数表指针是虚函数表所在位置的地址。虚函数表指针属于对象实例。因而通过new出来的对象的虚函数表指针位于堆&#xff0c;声名对象的虚函数表指针位于栈 虚函数表位于只读数据段&#xff08;.rodata&#xff09;&#xff0c;即&#xff1a;C内存模…

《opencv实用探索·八》图像模糊之均值滤波简单理解

1、前言 什么是噪声&#xff1f; 该像素与周围像素的差别非常大&#xff0c;导致从视觉上就能看出该像素无法与周围像素组成可识别的图像信息&#xff0c;降低了整个图像的质量。这种“格格不入”的像素就被称为图像的噪声。如果图像中的噪声都是随机的纯黑像素或者纯白像素&am…

jionlp :一款超级强大的Python 神器!轻松提取地址中的省、市、县

在日常数据处理中&#xff0c;如果你需要从一个完整的地址中提取出省、市、县三级地名&#xff0c;或者乡镇、村、社区两级详细地名&#xff0c;你可以使用一个第三方库来实现快速解析。在使用之前&#xff0c;你需要先安装这个库。 pip install jionlp -i https://pypi.douba…

如何使用注解实现接口的幂等性校验

如何使用注解实现接口的幂等性校验 背景什么是幂等性为什么要实现幂等性校验如何实现接口的幂等性校验1. 数据库唯一主键2. 数据库乐观锁3. 防重 Token 令牌4. redis 如何将这几种方式都组装到一起结语 背景 最近在小组同学卷的受不了的情况下&#xff0c;我决定换一个方向卷去…

Docker Compose及Docker 知识点整理

目录 1、Docker Compose 简介 2、为什么要使用Docker Compose 3、Docker Compose安装使用&#xff08;Linux&#xff09; 3.1 下载 3.2 mkdir docker 文件夹目录 3.3 上传docker-compose到docker文件夹 3.4 移动到 /usr/local/bin 目录下 3.5 添加执行权限 3.6 修改文…

图文深入理解TCP三次握手

前言 TCP三次握手和四次挥手是面试题的热门考点&#xff0c;它们分别对应TCP的连接和释放过程&#xff0c;今天我们先来认识一下TCP三次握手过程&#xff0c;以及是否可以使用“两报文握手”建立连接&#xff1f;。 1、TCP是什么&#xff1f; TCP是面向连接的协议&#xff0c;…

关于Typora如何插入自己的云端视频的方法

关于Typora如何插入自己的云端视频的方法 文章目录 关于Typora如何插入自己的云端视频的方法前言&#xff1a;实现步骤&#xff1a;小结 前言&#xff1a; 我本来使用gitee来作为typora的图床&#xff0c;但我现在想要把我自己的视频上传到云端&#xff0c;然后通过超链接在ty…

2017年全国硕士研究生入学统一考试管理类专业学位联考英语(二)试题

文章目录 Section I Use of EnglishSection II Reading ComprehensionText 121-细节信息题22-细节信息题23-推断题24-细节信息题25-态度题 Text 226-细节信息题27-细节信息题28-细节信息题29-细节信息题30-细节信息题 Text 331-细节信息题32-细节信息题33-猜词题34-细节信息题3…

C语言之位段(详解)

C语言之位段 文章目录 C语言之位段1. 位段的介绍2. 位段的内存分配3. 位段跨平台问题4. 位段的应用5. 位段使用注意 1. 位段的介绍 位段&#xff08;bit-field&#xff09;是C语言中的一种特殊数据类型&#xff0c;它允许将一个字节分成几个部分&#xff0c;并为每个部分指定特…

设计模式-结构型模式之组合、享元设计模式

文章目录 四、组合模式五、享元模式 四、组合模式 组合模式&#xff08;Composite Pattern&#xff09;&#xff0c;又叫部分整体模式&#xff0c;是用于把一组相似的对象当作一个单一的对象。 组合模式依据树形结构来组合对象&#xff0c;用来表示部分以及整体层次。它创建了…

嵌入式Linux:ARM驱动+QT应用+OpenCV人脸识别项目实现

一、前言&#xff1a; 这个项目主要分为两部分&#xff0c;客户端&#xff08;ARM板端&#xff09;负责利用OpenCV采集人脸数据&#xff0c;利用TCP将人脸数据发送给服务器&#xff0c;然后服务器根据人脸数据进行人脸识别&#xff0c;将识别后的结果返还给客户端&#xff0c;客…

【教学类-06-13】20231202 0-9数字分合-房屋样式(二)-左空或者右空-升序-抽7题

作品展示&#xff1a; 背景需求&#xff1a; 【教学类-06-12】20231202 0-9数字分合-房屋样式&#xff08;一&#xff09;-下右空-升序-抽7题-CSDN博客文章浏览阅读102次。【教学类-06-12】20231202 0-9数字分合-房屋样式-下右空-升序https://blog.csdn.net/reasonsummer/arti…

Redis数据存储:高效、灵活、实时

目录 引言 1. Redis概述 1.1 什么是Redis&#xff1f; 1.2 Redis的数据结构 1.3 Redis的持久化机制 2. Redis的使用场景 2.1 缓存 2.2 会话存储 2.3 发布/订阅系统 2.4 计数器和排行榜 3. Redis最佳实践 3.1 数据模型设计 3.2 键的命名规范 3.3 事务和原子操作 3…

windows11 hosts文件没权限修改

1 win➕R 2 输入 cmd 3 同时按三个键 ctrl➕shift➕enter打开管理员权限 4 输入notepad回车,在记事本里直接点击文件-打开&#xff0c;选择路径:C:\Windows\System32\drivers\etc&#xff0c;继续选择所有文件&#xff0c;然后打开hosts文件 5 修改完之后&#xff0c;c…