能运行在JDK8和MySQL环境下的最高sonarqube版本是7.8,版本在7.9以上的都要安装jdk11和PostgreSQL了。

下载

到https://www.sonarqube.org/downloads/网站下载历史版本7.8的zip压缩包,

配置

数据库链接

打开sonar目录的/conf/sonar.properties文件,找到并配置:

# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
sonar.jdbc.username=
sonar.jdbc.password=

#----- Embedded Database (default)
# H2 embedded database server listening port, defaults to 9092
#sonar.embeddedDatabase.port=9092

#----- DEPRECATED 
#----- MySQL >=5.6 && <8.0
# Support of MySQL is dropped in Data Center Editions and deprecated in all other editions
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported. It can not be changed.
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

请在启动前提前创建好对应的数据库。

创建用户 Sonarqube并设为启动账户

# 创建用户
useradd sonar
# 配置密码
passwd sonar
# 将目录权限给予该用户
chown -R sonar:sonar /home/sonarqube-7.8

编辑sonar安装目录的/bin/linux-x86-64/sonar.sh文件,修改用户为sonar

# If specified, the Wrapper will be run as the specified user.
# IMPORTANT - Make sure that the user has the required privileges to write
#  the PID file and wrapper.log files.  Failure to be able to write the log
#  file will cause the Wrapper to exit without any way to write out an error
#  message.
# NOTE - This will set the user which is used to run the Wrapper as well as
#  the JVM and is not useful in situations where a privileged resource or
#  port needs to be allocated prior to the user being changed.
RUN_AS_USER=sonar

启动Sonarqube

直接执行 /home/sonarqube-7.8/bin/linux-x86-64/sonar.sh console 就可以启动 Sonarqube ,并且直观的看到启动日志,建议调试期间使用该命令启动。

等调试结束,启动完全没问题了,就可以使用 ./sonar.sh console & 来实现后台运行,或者直接 ./sonar.sh start 来快速启动。

查看日志

Sonarqube 的日志目录位于 /home/sonarqube-7.8/log/ 目录,分别有:

  • access.log 访问权限相关日志
  • ce.log 不知道啥日志,应该没用
  • sonar.log 主体日志,使用 console 命令启动输出的日志来自该文件
  • es.log 依赖的 Elasticsearch 启动时输出的日志
  • web.log 主体 Web 项目输出的日志

在配置 Sonarqube 时,集中关注 es.log 和 web.log 即可。

sonarQube安装中文插件

访问中文插件的网址并查看对应sonar版本的中文插件版本:https://github.com/xuhuisheng/sonar-l10n-zh

对应sonar7.8的是这个链接:https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.28

下载对应的jar文件:

然后将jar包上传到自己sonar项目安装的extensions/plugins/下,并重启sonarqube即可。

其他

sonar的默认端口是9000,默认账号和密码是admin。