
SonarQube代码审查(1) - 安装SonarQube
SonarQube简介
SonarQube 是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码异味。它可以与您现有的工作流程集成,以支持跨项目分支和拉取请求的持续代码检查。
安装SonarQube
安装mysql并创建SonarQube数据库(仅仅支持SonarQube 7.9的以下的)
安装mysql请参考:https://www.tnblog.net/hb/article/details/4888
然后在mysql中创建sonar数据库
create database sonar;
show databases;
安装postgres
docker pull postgres:11.4
docker run --name postgres1 -e POSTGRES_PASSWORD=pwd123456 -e POSTGRES_USER=root -e POSTGRES_DB=sonardb -p 5432:5432 -d postgres:11.4
docker exec -it postgres1 /bin/bash
psql template1
# 创建数据库
create database sonarqubedb;
# 创建用户
create user sonarqube with encrypted password 'pwd123456';
# 把所有权限都给它
grant all privileges on database sonarqubedb to sonarqube
# 退出
\q
exit
官网下载
通过访问官网到下载地址下载相对应的包:https://www.sonarqube.org/success-download-community-edition/
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.0.43852.zip
yum install unzip # 安装解压程序
unzip sonarqube-8.9.0.43852.zip # 解压包
mkdir /opt/sonar
mv sonarqube-8.9.0.43852/* /opt/sonar #移动文件
useradd sonar # 创建 sonar 用户
chown -R sonar /opt/sonar # 更改目录以及权限
修改sonar配置文件
# 修改配置文件
vi /opt/sonar/conf/sonar.properties
# 添加数据库密码与账户
sonar.jdbc.username=root
sonar.jdbc.password=pwd123456
# mysql
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
# postgres
sonar.jdbc.username=sonarqube
sonar.jdbc.password=pwd123456
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonardb
使用
sonar
账号启动
cd /opt
su sonar /opt/sonar/bin/linux-x86-64/sonar.sh start
tail -f sonar/logs/sonar.20210606.log # 查看日志
接着我们来启动日志追踪,发现报错了
原来是SonarQube 7.9以上版本已不再支持mysql
解决数据库后,它很妖艳又要Java11才能支持
解决问题(安装java11)
yum search java-11
yum install java-11-openjdk -y
# 然后我们通过下面的命令选择java-11 JDK(我们选择2)
alternatives --config java
java -version
然后再次运行,elasticsearch报错
# 解决第一个问题
vi /etc/security/limits.conf
# 添加下面内容
* soft nofile 65536
* hard nofile 65536
# 解决第二个问题
vi /etc/sysctl.conf
# 最后添加一行
vm.max_map_count=262144
# 保存后执行,立马生效然后再次尝试启动SonarQube
/sbin/sysctl -p
貌似成功了,访问一下
9000
端口看看(默认端口是9000,可以在刚刚的配置文件里面设置其他端口)
# 关闭防火墙
systemctl stop firewalld
# 查看内网ip
ifconfig
由于坑可能比较多大家尽量通过 /opt/sonar/logs
日志去查,排查顺序sonar.log
—>es.log
—>web.log
,如有问题可以直接在群里或qq上@我。
# 重启SonarQube
rm -rf sonar/data/es7/
# 查看网站端口
netstat -tlunp
# 杀掉elasticsearch的pid
kill {pid}
# 停掉sonarQube
su sonar /opt/sonar/bin/linux-x86-64/sonar.sh stop
/opt/sonar/bin/linux-x86-64/sonar.sh stop
# 在ps中找到sonar并杀掉
ps -ef | grep sonar
kill {pid}
# 启动
su sonar /opt/sonar/bin/linux-x86-64/sonar.sh start
最后通过
127.0.0.1:9000
访问到该页面,默认账号和密码为admin:admin
更改了密码之后就进来了
然后去生成我们Jenkins所需要的Token密钥
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术