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

目录

一、实验

1.CentOS 7 安装 Sonarqube9.6

二、问题

1.安装postgresql13服务端报错

2.postgresql13创建用户报错

3.bash: sonar-scanner: 未找到命令


一、实验

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		#安装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           /usr/java/jdk-11.0.15.1/bin/java2           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.propertiessonar.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#解压在 opt 目录
cd /opt
unzip sonar-scanner-cli-4.8.0.2856-linux.zip #修改配置文件
cd /opt/sonar-scanner-4.8.0.2856-linux/conf
vim sonar-scanner.propertiessonar.host.url=http://192.168.204.8:9000
sonar.sourceEncoding=UTF-8#在 /etc/profile 的末尾添加环境变量
vim /etc/profileexport SONAR_SCANNER_HOME=/opt/sonar-scanner-4.8.0.2856-linux
export PATH=$SONAR_SCANNER_HOME/bin:$PATH#环境变量立即生效
source /etc/profile#检查一下命令是否可用
sonar-scanner -v

①解压

②修改配置文件

③在 /etc/profile 的末尾添加环境变量

④环境变量立即生效

检查一下命令是否可用

(13) 分析一个项目

二、问题

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;

成功

3.bash: sonar-scanner: 未找到命令

(1)报错

#解压
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 环境变量

④环境变量生效

未找到命令

(2)原因分析

路径错误

(3)解决方法

直接解压到opt目录申明环境变量

 ①解压

②在 /etc/profile 的末尾添加环境变量

 

③环境变量立即生效

④ 检查一下命令是否可用

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

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

相关文章

C/C++,图算法——求强联通的Tarjan算法之源程序

1 文本格式 #include <bits/stdc.h> using namespace std; const int maxn 1e4 5; const int maxk 5005; int n, k; int id[maxn][5]; char s[maxn][5][5], ans[maxk]; bool vis[maxn]; struct Edge { int v, nxt; } e[maxn * 100]; int head[maxn], tot 1; vo…

Vellum —— 相关特点

目录 Cloth Breaking and tearing Paneling and draping Cloth simulation Calculating mass and thickness Working with low res and high res cloth Quick moving cloth Softbody Vellum softbodies Plasticity with softbodies Constraints Stitch and slid…

Centos7 制作Openssh9.5 RPM包

Centos7 制作Openssh9.5 RPM包 最近都在升级Openssh版本到9.3.在博客里也放了openssh 9.5的rpm包. 详见:https://blog.csdn.net/qq_29974229/article/details/133878576 但还是有小伙伴不停追问这个rpm包是怎么做的,怕下载别人的rpm包里被加了盐. 于是做了个关于怎么用官方的o…

yolov8添加ca注意力机制

创建文件 coordAtt.py 位置&#xff1a;ultralytics/nn/modules/coordAtt.py ###################### CoordAtt #### start by AI&CV ############################### # https://zhuanlan.zhihu.com/p/655475515 import torch import torch.nn as nn import t…

2023年【A特种设备相关管理(锅炉压力容器压力管道)】考试内容及A特种设备相关管理(锅炉压力容器压力管道)复审考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;考试内容根据新A特种设备相关管理&#xff08;锅炉压力容器压力管道&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将A特种设备相关管理…

使用 async/await 是必须避免的陷阱

使用 async/await 是必须避免的陷阱 如果我们使用过 nodejs&#xff0c;那么我们可能已经在 javaSoript 中使用了异步操作。异步任务是一个独立于 JavaSoript 引擎的主线程执行的操作。从本质上讲&#xff0c;这就是应用程序功能没有阻塞的 UI 的原因。 nodejs 的单线程性质&a…

外包干了2个月,技术明显退步了...

先说一下自己的情况&#xff0c;大专生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近5年的功能测试&#xff0c;今年11月份&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…

kubectl获取命名空间下所有configmap集合的方法

前言&#xff1a; 获取单个configmap并忽略特定字段的操作可参照&#xff1a;kubectl获取ConfigMap导出YAML时如何忽略某些字段。 要获取命名空间下所有ConfigMap并忽略特定字段&#xff0c;你可以使用kubectl命令与例如yq这样的工具结合使用来忽略或删除不需要的字段。以下是…

MYSQL8用户权限配置详解

单位的系统性能问题需要把Mysql5升级到Mysql8&#xff0c;需要用到Mysql8的一些特性来提升系统的性能。 配置用户权限过程中发现一些问题&#xff0c;学习并记录一下。 目录 一、环境 二、MySQL8 用户权限 2.1 账号管理权限 2.1.1 连接数据库 2.1.2 账号权限配置 2.2 密码…

深信服AD负载均衡频繁掉线故障分析

一个由114.114.114.114引起的AD异常 客户反馈深信服负载均衡链路频繁掉线&#xff0c;具体故障现象如下 可以获取到IP地址、网关 两分钟掉一次&#xff0c;持续一个多月&#xff0c;求IT的心理阴影面积&#xff01; 链路监视器只设置了一个114.114.114.114 处理流程&#xff…

15:00的面试,15:06就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

Web漏洞分析-SQL注入XXE注入(中下)

随着互联网的不断普及和Web应用的广泛应用&#xff0c;网络安全问题愈发引起广泛关注。在网络安全领域中&#xff0c;SQL注入和XXE注入是两个备受关注的话题&#xff0c;也是导致许多安全漏洞的主要原因之一。本博客将深入研究这两种常见的Web漏洞&#xff0c;带您探寻背后的原…

【数据结构】链表OJ题(顺序表)(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…

Linux Spug自动化运维平台本地部署与公网远程访问

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件…

分享66个在线客服JS特效,总有一款适合您

分享66个在线客服JS特效&#xff0c;总有一款适合您 66个在线客服JS特效下载 链接&#xff1a;https://pan.baidu.com/s/1VqM6ASgKRFdQ8RyzbsX4uA?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0…

CubieBoard5(1)——烧录Linux镜像并远程登录

前言 最近项目使用CubieBoard5&#xff0c;但是网络资料甚少&#xff0c;官方文档资料放置得很零散。因此写下博客当做笔记。 准备 硬件 CubieBoard5开发板Windows PC配套电源线以及5V适配器Micro SD卡与读卡器网线 软件 XSHELL镜像文件烧录工具 烧录固件 从CubieBoard的…

【Unity动画】为一个动画片段添加事件Events

动画不管播放到那一帧&#xff0c;我们都可以在这里“埋伏”一个事件&#xff08;调用一个函数并且给函数传递一个参数&#xff0c;参数在外部设置&#xff0c;甚至传递一个物体&#xff09;&#xff01; 嗨&#xff0c;亲爱的Unity小伙伴们&#xff01;你是否曾想过为你的动画…

作业12.5

1.定义一个基类 Animal&#xff0c;其中有一个虛函数perform&#xff08;)&#xff0c;用于在子类中实现不同的表演行为。 #include <iostream>using namespace std; class Animal { private:int weight; public:Animal(){}Animal(int weight):weight(weight){}virtual …

【MVP矩阵】裁剪空间、NDC空间、屏幕空间

裁剪空间概述 裁剪空间是一个顶点乘以MVP矩阵之后所在的空间&#xff0c;Vertex Shader的输出就是在裁剪空间上&#xff08;划重点&#xff09; NDC空间概述 接上面&#xff0c;由GPU自己做透视除法将顶点转到NDC空间 两者的转换 透视除法将Clip Space顶点的4个分量都除以…

C语言学习笔记之数组篇

数组是一组相同类型元素的集合。 目录 一维数组 数组的创建 数组的初始化 数组的使用 数组在内存中的存储 二维数组 数组的创建 数组的初始化 数组的使用 数组在内存中的存储 数组名 数组名作函数参数 一维数组 数组的创建 type_t arr_name [const_n]; //type_…