前言:
上周是在mac系统中安装了sonarqube8.9.3版本,想要集成alibaba p3c,但是发现并不是这么简单,经过不断地试错,终于是能够跑起来处结果了。为此记录一下。
先说一下结果,使用的p3c-pmd.jar的版本是3.0.1,参考的是这位老哥的文章,文章里也有3.0.1版本的下载地址。
sonarqube中添加p3c-pmd整合阿里java开发规范 - 简书
确实,从github上下载的2.6版本的p3c,也包括3.0.1版本的在sonarqube8.9.3版本运行插件的时候报错,尤其是2.6版本的sonarqube都开不起来。
所以改换sonarqube7.4版本,下面这个链接是下载地址,拉到最下面有历史版本下载
Download | SonarQube
并且数据库换成了mysql
这里在配置sonarqube7.4的配置文件时发现对mysql版本有要求,那就按照这个要求来下载相应版本,这个是下载链接。
MySQL :: Download MySQL Community Server (Archived Versions)
sonar-scanner我是下载的最新版本,地址下面
SonarScanner | SonarQube Docs
所以整体的版本信息如下:
mac os:10.14.6
sonarqube:7.4
mysql:5.7.20
sonar-scanner:4.6.2
p3c-pmd.jar:3.0.1
jdk:11
正文:
一、sonarqube的配置
1.新建用户:将sonarqube7.4版本下载后解压到/usr/local目录下,由于sonarqube要求必须是非root用户才能运行,因此需新建一个普通用户。
在mac上,点击苹果菜单->系统偏好设置->用户与群组,点击左下角的+号创建一个新用户sonar(名字随意)
2.赋予权限:使用管理员账号通过以下命令给sonarqube加上所有权:
sudo chown sonar:staff /usr/local/sonarqube-7.4/
当然经过实际 *** 作,这一步还不够,可能还需要对其中的重复执行以上命令
可以通过以下命令查看文件所有者
ls -alF
3.配置文件:/conf/sonar.properties,根据实际修改
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.host=127.0.0.1
sonar.web.port=9000
sonar.path.data=/data/sonarqube/data
sonar.path.temp=/data/sonarqube/temp
4.mysql的配置
mysql安装完成配置别名
vi ~/.bash_profile
键入以下:
alias mysql=/usr/local/mysql/bin/mysql alias mysqladmin=/usr/local/mysql/bin/mysqladmin
后设置好自己的密码,然后创建一个名为sonar的数据库,其他的不用配置。
5.p3c插件安装
sonarqube的市场里有pmd的插件,但是没有p3c的,需要将jar包手动拖拽到extensions/plugins/文件夹下。
6.启动
终端输入以下命令:
cd /usr/locol/sonarqube-7.4/bin/macosx-universal-64/ ./sonar.sh start
start:启动
restat:重启
status:查看状态
console:启动并输出sonar.log日志信息
stop:关闭
如果启动失败,依次查看sonar.log、web.log、es.log。
大概可能的原因有jdk版本、数据库连接失败、插件不兼容,具体细节请参考我写得这两个文章
Sonarqube for mac安装提示与启动报错解决方案_老北京砸酱锤的博客-CSDN博客
Sonarqube for ubuntu启动报错解决方案_老北京砸酱锤的博客-CSDN博客
二、sonar-scanner配置
下载后的sonar-scanner包解压的/usr/local/文件夹下,并添加环境变量
vi ~/.bash_profile export SONAR_HOME=/usr/local/sonarqube-7.4 export SONAR_SCANNER_HOME=/usr/local/sonar-scanner-4.6.2.2472-macosx export PATH=$PATH:$SONAR_SCANNER_HOME/bin
#测试配置 sonar-scanner -v
如果有版本信息则配置完成。
三、p3c的使用
1.创建p3c策略
名字自定义,language选择java
点击添加策略,搜索p3c,右侧展示策略。
依次点击Bulk Change->Activate In p3c 添加策略
在Quality Profiles中将p3c设置默认
四、sonar-scanner使用
终端进入到需要扫描的项目文件夹下新建一个名为target的文件夹并执行(其他版本的可能有所偏差):
sonar-scanner -X -Dsonar.projectKey=test -Dsonar.sources=. -Dsonar.host.url=http://127.0.0.1:9000 -Dsonar.login=admin -Dsonar.password=admin -Dsonar.java.binaries=target
sonar.projectKey的值自定义但必须唯一
sonar.sources的值为项目地址,.代表当前地址
sonar.login和sonar.password的值为sonarqube的登录账号和密码
sonar.java.binaries的值为扫描项目下一个文件夹名字
回车执行扫描,扫描后的结果将稍后在页面展示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)