CentOS7安装SonarQube6.7

0. 准备工作

  前提需要安装好JDK8MySQL5.6+

1. 下载

  从官网https://www.sonarqube.org/downloads/下载sonarqube-6.7.3.zip压缩包。

2. 解压

  上传到服务器后,解压。

[root@localhost sonar]# unzip sonarqube-6.7.3.zip -d /opt

3. 配置MySQL数据库

  Sonar 默认使用的是 Derby 数据库,但这个数据库一般用于评估版本或者测试用途。商用及对数据库要求较高时,建议使用其他数据库。

# 打开配置文件
[elsearch@localhost linux-x86-64]$ vi /opt/sonarqube-6.7.3/conf/sonar.properties

# 配置MySQL
sonar.jdbc.username=root
sonar.jdbc.password=*****
sonar.jdbc.url=jdbc:mysql://192.168.10.132:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

3. 启动服务

[root@localhost sonar]# cd /opt/sonarqube-6.7.3/bin/linux-x86-64/
[root@localhost linux-x86-64]# ./sonar.sh start

  上面以root用户启动时,会因can not run elasticsearch as root报错,而停止服务。

这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,建议创建一个单独的用户用来运行ElasticSearch

  解决方法是创建一个单独用户来启动。

# 新建一个用户组:elsearch
groupadd elsearch

# 添加一个用户:elsearch
useradd elsearch -g elsearch -p elasticsearch

# 更改`sonarqube-6.7.3`文件夹及内部文件的所属用户及组为elsearch:elsearch
chown -R elsearch:elsearch /opt/sonarqube-6.7.3/

# 切换用户
su elsearch

# 启动
cd /opt/sonarqube-6.7.3/bin/linux-x86-64
./sonar.sh start

# 查看状态
[elsearch@localhost linux-x86-64]$ ./sonar.sh status
SonarQube is running (3901).

  SonarQube默认端口是9000,浏览http://192.168.10.172:9000启动正常。
  SonarQube默认有一个admin用户,密码默认admin

4. 分析代码

  • 取得一个token

  SonarQube只允许其用户分析代码,所以为每个用户生成一个token用来在客户端运行分析。

Help --> Tutorials --> Analyze a new project --> Genereate a token (or Use existing token)
  • 启动分析

  Sonar实际上是一个Web系统,展现了静态代码扫描的结果,结果是可以自定义的,而真正实现代码扫描的是Sonar Scanner这个工具。对于Maven项目,通过sonar-maven-plugin插件进行分析

   最直接地,执行以下命令就可以了。

# 在项目根目录下
$ mvn sonar:sonar -Dsonar.host.url=http://192.168.10.172:9000 -Dsonar.login=your token

  官网上关于分析的说明如下,主要注意两点:
  1. 多模块项目运行sonar目标前,需要mvn clean install
  2. 运行时,可以指定具体sonar-maven-plugin插件版本,不指定时将使用最新版本。

mvn clean verify sonar:sonar
  
# In some situation you may want to run sonar:sonar goal as a dedicated step. Be sure to use install as first step for multi-module projects
mvn clean install
mvn sonar:sonar
 
# Specify the version of sonar-maven-plugin instead of using the latest. See also 'How to Fix Version of Maven Plugin' below.
mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar
  • 浏览报告
# 上述命令执行结束后会输出报告地址:
[INFO] ANALYSIS SUCCESSFUL, you can browse http://192.168.10.172:9000/dashboard/index/net.mrliuli:erp

5. Jenkins集成SonarQube

  待续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值