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

SonarQube

不同版本的sonarqube需要不同版本的数据库、jdk环境。这个看文档然后确定要求

(有时候文档里标注的系统要求是不行的。比如要求内存2G,但是实际上是不够的,要注意)

我安装的:

官方文档

Prerequisites and overviewhttps://docs.sonarsource.com/sonarqube-server/9.9/requirements/prerequisites-and-overview/

sonarqube版本:

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.9.7.96285.zip

jdk版本:

yum list available|grep jdk   

postgresql安装(我用的是阿里云上的服务器,配置安全组的时候要把5432,9000端口打开)

PostgreSQL:Linux 下载(Red Hat 系列)https://www.postgresql.org/download/linux/redhat/但是我按照官方安装的时候出了一些问题,/etc/yum.repos.d/下始终无法生成repo文件。我把修改后的文件放到github上

# Install the repository RPM:  这个不行就用我的repo
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm   

把repo包放到/etc/yum.repos.d/下

https://github.com/Sxm234567890/conf.d/blob/main/pgdg-redhat-all.repo

yum clean all
yum makecache
yum repolist
# Disable the built-in PostgreSQL module:
sudo dnf -qy module disable postgresql# Install PostgreSQL:
sudo dnf install -y postgresql17-server# Optionally initialize the database and enable automatic start:
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
sudo systemctl enable postgresql-17
sudo systemctl start postgresql-17

安装好对数据库进行初始化

su postgres        #切换用户
psql -U postgres   #进入数据库
create database sonar;
create user sonar with encrypted password  '123456';
grant all privileges on database sonar to sonar;
alter database sonar owner to sonar
\q                 #退出数据库

找到配置文件,更改postgresql的监听ip(如果postgresql和sonarqube不是一个服务器)

find / -name "postgresql.conf"
vim /var/lib/pgsql/17/data/postgresql.conflisten_addresses = '*'  


再更改文件pg_hba.conf,是sonarqub连接postgresql的时候不用验证

/var/lib/pgsql/17/data/pg_hba.conf

find / -name "pg_hba.conf"
/var/lib/pgsql/17/data/pg_hba.conf

安装sonarqub

useradd -r -m -s /bin/bash sonarqube  #sonarqube安装包在/data下
chown -R sonarqube.sonarqube  /data/
su sonarqube
cd /data/
ln -sv  sonarqube-9.9.7.96285  sonarqube
cd sonarqube
vim conf/sonar.properties  #配置文件#配置文件内容
sonar.jdbc.username=sonar   #连接数据库
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://121.40.65.195/sonar ./bin/linux-x86-64/sonar.sh  start

访问http://<ip>:9000

sonarqub的service文件

Operating the server 这是我这个版本的sonarqub的service文件 

但是要改一下  启动用户、组啊 启动命令  注意文件权限

[Unit]
Description=SonarQube service
After=syslog.target network.target[Service]
Type=simple
User=sonarqube
Group=sonarqube
PermissionsStartOnly=true
ExecStart=/bin/nohup /opt/java/bin/java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-8.5.jar
StandardOutput=journal
LimitNOFILE=131072
LimitNPROC=8192
TimeoutStartSec=5
Restart=always
SuccessExitStatus=143[Install]
WantedBy=multi-user.target

汉化插件包

xuhuisheng/sonar-l10n-zh: Chinese Pack for SonarQube

下载jar包,放到插件目录

这里面放插件文件

sonar-scanner-cli工具下载地址

(安装到扫描代码的服务器上,比如jenkins)

SonarSource Downloads-CDNhttps://binaries.sonarsource.com/?prefix=Distribution/sonar-scanner-cli/

export SONAR_TOKEN=squ_b652ea7639372a4673c4d34e44a37511b1311295 #这个不可缺少

Sonarqube web可以把这认证取消掉,使用的时候都是公司内网

可以把这个代码拉下来,这里面有实例代码,可以先试着扫描一下这个代码

SonarSource/sonar-scanning-examples: Shows how to use the Scanners

sonar-scanner扫描工具的配置文件

显示扫描结果

注意每个源代码同路径下要有sonar-project.properties,显示这个源代码是什么类型的代码(py,java等)

jenkins拉取gitlab上的代码,在部署之前先对代码扫描。由于每一个源代码都有sonar-project.properties 文件,可以把这个文件放在gitlab上,和代码一起拉下来进行扫描。

jenkins还可以直接配sonar-project.properties

http://www.lryc.cn/news/536680.html

相关文章:

  • Nginx 之Rewrite 使用详解
  • 注册Gmail如何跳过手机验证环节?
  • WordPress自助建站全攻略
  • TreeSet(单列集合)
  • Elasticsearch:同义词在 RAG 中重要吗?
  • Docker安装分布式vLLM
  • 可视化实操记录(自用)
  • 二叉树的遍历方式和子问题思路
  • 运用Deek Seeker协助数据分析
  • 服务器之连接简介(Detailed Explanation of Server Connection)
  • 低空经济:开启未来空中生活的全新蓝海
  • 主动视觉可能就是你所需要的:在双臂机器人操作中探索主动视觉
  • 洛谷 P6419 COCI2014/2015 #1 Kamp 题解
  • 在 Vue 项目中使用 SQLite 数据库的基础应用
  • AI会话问答的页面滚动处理(参考deepseek页面效果)
  • GRN前沿:DGCGRN:基于有向图卷积网络的基因调控网络推理
  • MongoDB 入门操作指南
  • 共享设备管理难?MDM助力Kiosk模式一键部署
  • HttpClient-Java程序中发送Http请求
  • 硬件-电源-隔离与非隔离的区别
  • Kubernetes 最佳实践:Top 10 常见 DevOps/SRE 面试问题及答案
  • Training for Computer Use
  • PH热榜 | 2025-02-14
  • 工业物联网远程监控系统优化方案,基于巨控GRM553Y-CHE
  • 报名丨Computer useVoice Agent :使用 TEN 搭建你的 Mac Assistant
  • Flutter 中的生命周期
  • 深度整理总结MySQL——redoLog日志工作原理
  • 备战蓝桥杯 Day1 回顾语言基础
  • 小记大模型本地部署:vllm, lmdeploy, ollama
  • MySQL查看存储过程和存储函数