Sonarqube with PostgreSQL 的安装与配置及其中学到的知识
Sonarqube with PostgreSQL 的安装与配置及其中学到的知识
文章目录
安装JDK 11
查看本地的Java版本,是否存在JDK11
#查看当前java版本
java -version
# 列出当前系统中所有安装的 Java 版本,并显示其路径
update-alternatives --config java
如果需要更改JDK版本
#编辑 ~/.bashrc 或 ~/.bash_profile 文件中,在末尾添加以下行:将 /path/to/your/jdk 替换为你 JDK 的安装路径
export JAVA_HOME=/path/to/your/jdk
#使用 source ~/.bashrc 或 source ~/.bash_profile 使配置生效,或者重新启动终端。
JDK 11安装
使用 Yum 安装 OpenJDK 11
# 更新 Yum 包管理器:
sudo yum update
# 安装 OpenJDK 11:
sudo yum install java-11-openjdk-devel
# 验证安装:
java -version
Maven安装
下载 Maven
- 访问 Apache Maven 官方网站。
- 在 “Files” 部分找到 Maven 3.8.x 的稳定版本并下载对应的压缩包(通常是 .tar.gz 或 .zip 格式)。可以通过
uname -m
来查看操作系统架构。 - 在命令行或终端中,使用
wget
或浏览器下载工具下载 Maven。
解压安装 Maven
-
在命令行中,导航到您下载 Maven 压缩包的目录。
-
执行解压命令:
对于
.tar.gz
格式:tar -xvzf apache-maven-x.x.x-bin.tar.gz
对于
.zip
格式:unzip apache-maven-3.8.x-bin.zip
配置环境变量
-
打开
~/.bashrc
或~/.bash_profile
文件(具体文件名可能因系统而异)。 -
添加 Maven 的
bin
目录到PATH
变量中,类似于这样:export PATH=/path/to/apache-maven-x.x.x/bin:$PATH
-
使用
source ~/.bashrc
或source ~/.bash_profile
来使更改生效,或者关闭并重新打开终端。
验证安装
在命令行中输入 mvn -version
,您应该能够看到 Maven 的版本信息,表明安装已成功。which mvn
:查找 Maven 的可执行文件的路径
Sonarqube with PostgreSQL 的安装与配置
Sonarqube运行需要配置数据库,mysql在sonarqube-7.9.4下不支持,故使用PostgreSQL
安装工作
# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Install PostgreSQL:
sudo yum install -y postgresql12-server
# Optionally initialize the database and enable automatic start:
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12
一些有必要的配置工作
# 编辑 /var/lib/pgsql/data/pg_hba.conf 文件,将认证 ident 改为 md5.
sudo vi /var/lib/pgsql/10/data/pg_hba.conf
可以直接将相应内容换成如下:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
#host replication sonar 127.0.0.1/32 ident
# 重启应用
sudo systemctl restart postgresql-12
设置database 与 user
# 修改用户 postgres 的默认密码. 所有的数据库命令行必须通过这个用户执行.
sudo passwd postgres
# 使用新的密码登陆用户 postgres.
su - postgres
# 创建新用户 sonar.
createuser sonar
# 进入 PostgreSQL 的命令行 CLI.
psql
# 为 sonar 用户设置密码.
ALTER USER sonar WITH ENCRYPTED password 'sonar';
# 创建数据库 sonar.
CREATE DATABASE sonar WITH ENCODING 'UTF8' OWNER sonar TEMPLATE=template0;
# 退出 PostgreSQL 命令行.
\q
# 退出用户登陆.
exit
为sonarqube配置数据库
# 编辑sonarqube配置文件
vim /home/autoarmor/delivery/java-javascript-python/sonar/sonarqube-7.9.4/conf/sonar.properties
添加如下内容
# DATABASE
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://localhost/sonar
# WEB SERVER
sonar.web.host=0.0.0.0
sonar.web.port=9000
使用sonarqube
sonarqube 不能通过 root 用户执行因为elasticsearch,所以新建用户.
-
创建用户 sonar
sudo useradd sonar
-
将 sonar 设置为
/sonarqube-7.9.4
文件夹的 owner.# 查看当前文件夹的权限和所属用户 ll # 将文件夹所属改为sonar sudo chown -R sonar:sonar sonarqube-7.9.4 # 将权限提升至可读可写可执行 sudo chmod -R 755 sonarqube-7.9.4
-
启动sonarqube
# 登陆用户 sonar. su - sonar # 进入sonarqube执行文件目录下 cd /home/autoarmor/delivery/java-javascript-python/sonar/sonarqube-7.9.4/bin/linux-x86-64 # sonarqube以控制台方式,启动!启动! ./sonar.sh console
可以在
localhost:9000
这个url访问到控制台如果失败可以在查看
/sonarqube-7。9.4/logs
下 web.log、es.log、sonar.log.
使用sonarpython
在启动了sonarqube后,可以到相应Python语言下服务目录下直接启动./scan.sh
,可以在同一目录下找到生成的相应的json
文件
# 如果显示权限不够就执行这个
sudo chmod -R 777 /home/autoarmor/delivery/java-javascript-python/sonar/bookinfo/productpage/
遇到的一些其他bug
问题
------------------------------------------------------------------
总计 1.6 MB/s | 4.5 MB 00:02
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
源 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-libs-compat-5.7.44-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决
# 使用了远程 URL 直接导入密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 查看mysql安装位置
whereis mysql
# 查看 CentOS 上的用户列表
cat /etc/passwd
# 删除用户
sudo userdel username
# 如果被进程占用
sudo kill -9 pid
# 如果一直重新启动服务,先查看,后取消重新启动
watch -n 1 'ps aux | grep mysql'
systemctl disable servicename
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!