mac下sonarqube+sonar-scanner+p3c集成与使用

mac下sonarqube+sonar-scanner+p3c集成与使用,第1张

mac下sonarqube+sonar-scanner+p3c集成与使用

前言:

上周是在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的值为扫描项目下一个文件夹名字

回车执行扫描,扫描后的结果将稍后在页面展示。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5582779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存