Linux下的SonarQube搭建全流程及踩坑记录。

如果本文涉及到的Sonar7.8,汉化包,jdk8,MySQL5.7大家因为各种原因下载不了,可以从我分享的百度云链接里下载。链接我设置的永久有效,请尽情享用。

链接:https://pan.baidu.com/s/18xi6qodEYaILqH9Rc1XDvw
提取码:nimp

问题背景:

看到别人用SonarQube对代码进行规范,自己就想搭建一个SonarQube自己玩玩。

写个记录文章希望能多多少少帮到同样不懂SonarQube又想玩一玩的同学们。

1、在IDEA中有Sonar插件可以使用,比较方便。

虽然SonarLint评分低,但是下载它的人多啊,590万的下载量。
在这里插入图片描述

使用体现。
在这里插入图片描述

2、搭建SonarQube.

心路历程:

真的是一步一个坑,太坎坷了。

一开始想着在Windows上简单玩一下,然后就搜了下资料,去官网翻了半天,下了10版本的包,和官网最早版本7.9.6版本的包,结果都不好用,因为要么不支持MySQL,要么不支持jdk8,需要jdk更高版本。(官网明面上看不到7.9.6版本之前的SonarQube了,但是可以通过改它的下载链接,来获取我们想要的版本的包。)但是我windows上MySQL版本是8版本,所以选择在虚拟机上搭建SonarQube,于是在Linux上进行SonarQube的配置安装。

比如:

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

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip(我就是下的这个版本,因为是最后一个可以用jdk8和MySQL的版本。)

sonar7.9及以后的版本都需要jdk11或者更高,而且都不再支持MySQL进行存储。

前置条件:

引用两位大佬的文章。

Linux 配置Java8环境

mysql5.7安装。

在这里插入图片描述

就是简单的上传到linux服务器上,解压,然后

vi sonarqube-7.8/conf/sonar.properties 

sonar.properties

# 数据库用不用localhost结合自己的实际情况。不是本机的mysql就写IP
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.login=admin
sonar.password=admin
# 端口查看一下有没有被占用。被占用就改一个。
# 用 netstat -anlp|grep 9000 命令查看。
sonar.web.port=9000
sonar.search.port=9002

然后看一下是否启动成功。

# 看你自己把文件夹放哪了啊,别直接复制。
cd sonarqube-7.8/bin/linux-x86-64
./sonar.sh start & tailf ../../logs/sonar.log

我这里发现报错了。报错说是es加载插件的时候出错了。

cd sonarqube-7.8/logs
# 查看es日志。
less es.log

在这里插入图片描述

说是es不能用root用户启动。(不只是使用Sonar的时候,在别的地方用到es的时候也不能用root用户启动,也会报错。)

那简单,那我给你新建个用户就得了呗。
在这里插入图片描述

# 用root用户添加新用户,没有密码,可以直接 su sonar 切到 sonar 用户。
groupadd sonar
useradd -g sonar sonar
# 把sonarqube文件夹授权给 sonar。
# 之前我的sonarqube文件夹的权限是root用户,所以es会报那个错误。
chown -R sonar:sonar sonarqube-7.8
# cd 到 sonarqube-7.8/bin/linux-x86-64 文件夹,
# 启动 sonarqube 并 监听 sonarqube 启动日志。
./sonar.sh start & tailf ../../logs/sonar.log

发现启动成功。

第一次启动会比较慢,大概两三分钟。
在这里插入图片描述
搞了半天,终于看到这个页面了,泪目了家人们。
在这里插入图片描述

这时就可以搞一搞测一测玩一玩自己的项目了。
在这里插入图片描述

在这里插入图片描述

用这个maven命令,在你的项目文件夹内运行。

# projectKey,url,login的值都换成自己的。
mvn sonar:sonar -Dsonar.projectKey=test -Dsonar.host.url=http://192.168.1.200:9000 -Dsonar.login=f3194e0d69840ffc2e8d51823ec5f2c95cac36ff

在这里插入图片描述

Analysis successful.

在这里插入图片描述

家人们谁懂啊,终于搞出来了。
在这里插入图片描述

在这里插入图片描述

然后发现有的人会安装汉化插件,那我也想安,于是我就去应用市场搜 Chinese Pack.

点击安装之后报错,Error while downloading plugin ‘l10nzh’ with version ‘10.0’. No compatible plugin found.

问题就是SonarQube版本和Chinese Pack版本不匹配。

然后我又去Chinese Pack的github网站去找匹配SonarQube7.8版本的版本。

汉化插件官网。

(这个图是我成功汉化的图,懒得折腾了,凑合看吧。)

在这里插入图片描述

发现这个版本支持SonarQube7.8.

在这里插入图片描述

下载完之后,

cd sonarqube-7.8/extensions/downloads
# 把刚才下载好的 sonar-l10n-zh-plugin-1.28.jar 放到这个目录下。
# 然后重启SonarQube
./sonar.sh stop
./sonar.sh start & tailf ../../logs/sonar.log

汉化成功。(不过其实汉化不是特别大的帮助,代码的报错信息还是英文的,看自己个人爱好吧。)

在这里插入图片描述

至此SonarQube安装配置、简单使用都已经实现。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值