首页 » Web前端 » sonarqubeforphp技巧_linux 支配 SonarQube

sonarqubeforphp技巧_linux 支配 SonarQube

访客 2024-12-06 0

扫一扫用手机浏览

文章目录 [+]

Sonar(SonarQube)是一个开源平台,用于管理源代码的质量。
Sonar 不但是一个质量数据报告工具,更是代码质量管理平台。
支持的措辞包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。
紧张特点:代码覆盖:通过单元测试,将会显示哪行代码当选中改进编码规则征采编码规则:按照名字,插件,激活级别和种别进行查询项目征采:按照项目的名字进行查询比拟数据:比较同一张表中的任何丈量的趋势

sonar安装

1,下载sonar

sonarqubeforphp技巧_linux 支配 SonarQube

sonar支持跨平台,如linux,windows等,下载地址:

sonarqubeforphp技巧_linux 支配 SonarQube
(图片来自网络侵删)

https://www.sonarqube.org/downloads/

我下载的是6.6的版本,新版本好象不再支持mysql。
下载后解压可以看到如下目录:

bin目录放的是启动文件,conf放的是配置文件,extensions/plugins放的是插件。

2,下载sonar-scanner

下载地址:

https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

根据你操作系统选择下载,我下载的是2.8版本,如果上面网址找不到2.8版本,可以试下这个下载地址:

https://binaries.sonarsource.com/Distribution/sonar-scanner-cli

把稳:sonerScanner对JDK版本也会有哀求的,2.8支持java8

3,配置数据库

新建一个空库,数据库名自己取,比如取sonar,

配置sonar:

打开conf/sonar.properties文件,可以看到配置文件中默认写了各种数据链接的例子,在mysql那块,加入我们自己的数据库连接即可,如

sonar.jdbc.username=test

sonar.jdbc.password=test

sonar.jdbc.url=jdbc:mysql://192.168.1.104:13314/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

配置sonar-scanner:

打开conf/sonar-scanner.properties文件,同样加入上面的数据库连接即可。

4,汉化包(此过程可跳过)

https://github.com/xuhuisheng/sonar-l10n-zh/releases

根据sonar的版本下载对应的汉化包,由于我下载的sonar是6.6版本,以是下载

sonar-l10n-zh-plugin-1.18.jar

将下载jar包放到/extensions/plugins目录中

5,设置环境变量

为了方便利用sonar-scanner命令,须要为其设置环境变量

将配置好的sonar和sonar-scanner上传到linux做事器上,我的是存放路径是/sterson。

编辑/etc/profile文件,追加sonar-scanner路径:

export PATH=$PATH:/sterson/sonar-scanner-4.5.0.2216-linux/bin

然后实行 source /etc/profile 使环境变量配置生效。

利用sonar和sonar-scanner

1,启动sonar

进入sonar目录,比如我的路径是 /sterson/sonarqube-6.6/bin/linux-x86-64

启动命令: ./sonar.sh start

重启命令:./sonar.sh restart

停滞命令:./sonar.sh stop

在浏览器访问http://192.168.41.164:9000/,看到正在启动,等启动完后,

点击登录,默认账号密码是admin

把稳:启动时不能用root用户,不然会报错,由于wrapper不能以root来启动,以是须要创建一个普通用户来启动。

2,编辑sonar-project.properties

在须要扫描的源代码项目的根目录,创建sonar-project.properties文件,内容如下:

sonar.projectKey=my:project

sonar.projectName=THCompanyService

sonar.projectVersion=1.0

sonar.sources=/sterson/resource/THCompanyService/trunk/dev/src/main/java

sonar.java.binaries=/sterson/resource/THCompanyService/trunk/dev/target/classes

projectName:项目名称,自定义即可

projectVersion:项目版本

Sources:源代码路径

Binaries:项目编译后的class文件的目录

3,扫描

进入源代码所在根目录,实行sonar-scanner,可看到开始扫描。

把稳:如果报/bin/sh: sonar-scanner: 未找到命令,则考试测验建立连接,命令如下:

ln -sv /sterson/sonar-scanner-4.5.0.2216-linux/bin/sonar-scanner /usr/local/bin/sonar-scanner

/sterson/sonar-scanner-4.5.0.2216-linux/bin/sonar-scanner,这个是我的路径,须要改成你实际的路径

扫描结束后,返回到浏览器sonar查当作果:

安装sonar-pdf-plugin

到此网址下载

https://gitee.com/zzulj/sonar-pdf-plugin

把稳:这里只供应源码,下载后须要用maven编译天生jar包,以是如果你还没安装maven,要先安装maven,然后实行命令:

mvn clean package -Dmaven.test.skip=true

编译后会天生sonar-pdfreport-plugin-3.0.3.jar

将jar包放到sonar的extensions/plugins目里,重启sonar。

然后在sonar的配置中就可以看到pdf了。

把稳:须要每个配置项都设置并保存。
Username和Password我设置的是与sonar的一样。

否则扫描过程会报如下缺点:

INFO: Can't get Compute Engine task status.Retry.........

ERROR: Problem generating PDF file.

org.sonar.report.pdf.entity.exception.ReportException: Can't get Compute Engine task status

设置sonar web 内存

修正/conf/sonar.properties文件,在文中搜索这两项,去掉前面的#号。

注间:javaOpts的设置的值不能大于ce的值,否则启动报错。

sonar.web.javaOpts=-Xmx1024m -Xms512m -XX:+HeapDumpOnOutOfMemoryError

sonar.ce.javaOpts=-Xmx1024m -Xms128m -XX:+HeapDumpOnOutOfMemoryError

设置sonara-scanner内存

修正/etc/profile文件,追加如下配置:

export SONAR_SCANNER_OPTS="-Xms256m -Xmx2048m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=256m"

标签:

相关文章