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

持续集成交付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 的末尾添加环境变量

 

③环境变量立即生效

④ 检查一下命令是否可用

相关文章:

  • 表单小程序作用体现在哪
  • 用AI来纠正错别字和修饰文字
  • 《洛谷深入浅出进阶篇》p2568 GCD
  • 读书笔记-《数据结构与算法》-摘要2[冒泡排序]
  • 火狐,要完了!
  • Python绘制几种常见的时序分析图
  • 数字图像处理(实践篇) 十六 基于分水岭算法的图像分割
  • 视频批量剪辑方法:AI智剪创新力,批量剪辑新风潮
  • mybatisplus调用oracle存储过程
  • Selenium/webdriver介绍以及工作原理
  • Day18——JDK新特性
  • vue3学习笔记
  • pbootcms建站
  • P1047 [NOIP2005 普及组] 校门外的树题解
  • Linux shell编程学习笔记34:eval 命令
  • Google 是如何开发 Web 框架的
  • 【css3】浏览器内核及其兼容性
  • 【Leetcode】104. 二叉树的最大深度
  • Angular 2 DI - IoC DI - 1
  • C++类中的特殊成员函数
  • ECS应用管理最佳实践
  • java8-模拟hadoop
  • javascript从右向左截取指定位数字符的3种方法
  • Making An Indicator With Pure CSS
  • react-native 安卓真机环境搭建
  • XForms - 更强大的Form
  • 阿里云前端周刊 - 第 26 期
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 应用生命周期终极 DevOps 工具包
  • 正则表达式小结
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​卜东波研究员:高观点下的少儿计算思维
  • (2)Java 简介
  • (3)llvm ir转换过程
  • (39)STM32——FLASH闪存
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (转)菜鸟学数据库(三)——存储过程
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET Project Open Day(2011.11.13)
  • .NET 反射的使用
  • .net中我喜欢的两种验证码
  • .sh
  • @RequestMapping 的作用是什么?
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [30期] 我的学习方法
  • [AutoSAR 存储] 汽车智能座舱的存储需求