当前位置: 首页 > 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.conf

listen_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

相关文章:

  • JavaScript 网页设计案例:经典与创新的完美结合
  • DNS污染、劫持频发?HTTPDNS让安全无死角
  • C++从入门到实战(四)C++引用与inline,nullptr
  • DDD聚合在 ASP.NET Core中的实现
  • 解决引入第三方SDK导致的依赖冲突问题
  • .gitignore中忽略node_modules
  • 2.11 sqlite3数据库【数据库的相关操作指令、函数】
  • 编程技巧:VUE 实现接口返回数据的流式处理
  • 算法——对比A*算法与IDA*算法
  • Golang GORM系列:GORM数据库迁移
  • AI软件栈:LLVM分析(五)
  • Git标签管理:从基础到高阶自动化实践
  • 第6章 6.4 ASP.NET Core Web API各种技术及选择
  • 人工智能算法python程序运行环境安装步骤整理
  • 贪心算法(Greedy Algorithm)
  • AI前端开发与云计算结合:效率革命,ScriptEcho引领未来
  • 网络安全设备异构要求 网络安全设备硬件
  • NetworkX布局算法:nx.spring_layout
  • ADC入门准备(十):信号与系统知识回顾
  • 算法16(力扣451)——根据字符出现频率排序
  • 神舟二十号航天员乘组将于近日择机实施第一次出舱活动
  • 演员辛柏青发讣告:妻子朱媛媛患癌去世
  • 特朗普亲家有了新工作:美国驻法大使
  • 中青报聚焦上海社区心理服务:社工介入让居民“心畅”
  • 一周观展|一批重量级考古博物馆开馆:从凌家滩看到孙吴大墓
  • 国际博物馆日|在辽宁省博物馆遇见敦煌