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

阅读: 评论:0

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

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

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

链接:
提取码: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的配置安装。

比如:

.1.0.73491.zip

.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=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安装配置、简单使用都已经实现。

本文发布于:2024-01-31 07:07:22,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170665604526507.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:流程   Linux   SonarQube
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23