SonarQube 搭建代码质量管理平台

12 篇文章 1 订阅

一、安装篇

1安装jdk

2下载sonarqube,地址http://www.sonarqube.org/downloads/

3下载sonar-scanner-cli-3.1.0.1141-linux

将资源放到这个目录

 

4解压

[root@localhost sonarqube]#  unzip -q sonarqube-developer-7.8.zip -d ./softs

[root@localhost sonarqube]# unzip -q sonar-scanner-cli-3.1.0.1141-linux.zip -d ./softs

5启动

[root@localhost linux-x86-64]# cd /usr/local/sonarqube/softs/sonarqube-7.8/bin/linux-x86-64

[root@localhost linux-x86-64]# ./sonar.sh start

 

6. 浏览器访问

http://192.168.1.171:9000

启动不了,查看日志,原来SonarQube不能使用root启动,后面创建一个新用户启动就没问题了,建议已开始就用一个新用户安装。

新建一个用户和组

groupadd es
useradd es -g es -p es
chown -R es /usr/local/sonarqube //把sonar资源分配给用户sonarqube
chgrp -R es /usr/local/sonarqube //把sonar资源分配给组sonarqube
chown -R es /usr/lib/jvm/    //把jdk资源分配给用户sonarqube
chgrp -R es /usr/lib/jvm/   //把jdk资源分配给组sonarqube

修改用户组

[root@localhost softs]# chown -R es:es ./sonar-scanner-3.1.0.1141-linux

 

 

 

7配置中文

1登录(默认admin/admin)

 

安装中文语言包

重启sonarqube服务

 

 

 

 

 

 

二 使用mysql

1修改配置

[root@localhost conf]# cd /usr/local/sonarqube/softs/sonarqube-7.8/conf

[root@localhost conf]# vim sonar.properties

sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql://IP:3306/zhoufei?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

 

2启动:失败,原因

2019.06.29 14:26:03 WARN  app[][o.s.application.App] SonarQube will require Java 11+ starting on next version
2019.06.29 14:26:03 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /usr/local/sonarqube/softs/sonarqube-7.8/temp
2019.06.29 14:26:03 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2019.06.29 14:26:03 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/usr/local/sonarqube/softs/sonarqube-7.8/elasticsearch]: /usr/local/sonarqube/softs/sonarqube-7.8/elasticsearch/bin/elasticsearch
2019.06.29 14:26:03 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2019.06.29 14:26:03 INFO  app[][o.e.p.PluginsService] no modules loaded
2019.06.29 14:26:03 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
2019.06.29 14:26:08 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 78
2019.06.29 14:26:08 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
2019.06.29 14:26:08 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

1、[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

切换到root用户修改配置sysctl.conf

[root@localhost jvm]# vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

[root@localhost jvm]# sysctl -p
vm.max_map_count = 655360

2 [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

原因

每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量

[root@localhost jvm]# ulimit -Hn
4096
[root@localhost jvm]# ulimit -Sn
1024
[root@localhost jvm]#

vim /etc/security/limits.conf

新增(用户退出后重新登录生效)

* hard nofile 65536
* soft nofile 65536

退出用户,在重新登录

 

3再次启动,失败(上面的问题已经解决了)

--> Wrapper Started as Daemon
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2019.06.29 14:52:11 WARN  app[][o.s.application.App] SonarQube will require Java 11+ starting on next version
2019.06.29 14:52:11 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /usr/local/sonarqube/softs/sonarqube-7.8/temp
2019.06.29 14:52:12 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2019.06.29 14:52:12 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/usr/local/sonarqube/softs/sonarqube-7.8/elasticsearch]: /usr/local/sonarqube/softs/sonarqube-7.8/elasticsearch/bin/elasticsearch
2019.06.29 14:52:12 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
2019.06.29 14:52:12 INFO  app[][o.e.p.PluginsService] no modules loaded
2019.06.29 14:52:12 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2019.06.29 14:52:21 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2019.06.29 14:52:21 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/usr/local/sonarqube/softs/sonarqube-7.8]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/usr/local/sonarqube/softs/sonarqube-7.8/temp -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/common/*:/usr/local/sonarqube/softs/sonarqube-7.8/lib/jdbc/mysql/mysql-connector-java-5.1.46.jar org.sonar.server.app.WebServer /usr/local/sonarqube/softs/sonarqube-7.8/temp/sq-process3177933248837597217properties
2019.06.29 14:52:25 INFO  app[][o.s.a.SchedulerImpl] Process[web] is stopped
2019.06.29 14:52:25 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 143
2019.06.29 14:52:25 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
2019.06.29 14:52:25 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped

查看web日志

Caused by: org.sonar.api.utils.MessageException: Unsupported mysql version: 5.5. Minimal supported version is 5.6.

原来sonar支持数据库版本至少要5.6。 我修改mysql连接

修改后就成功了,同时在数据库上生成相应的表

 

 

三 检测代码

1配置sonar-scanner

[root@localhost conf]# cd /usr/local/sonarqube/softs/sonar-scanner-3.1.0.1141-linux/conf

[root@localhost conf]# vim sonar-scanner.properties

2配置环境变量

[root@localhost sonar-scanner-3.1.0.1141-linux]# vim /etc/profile
[root@localhost sonar-scanner-3.1.0.1141-linux]# source /etc/profile


SONAR_RUNNER_HOME=/usr/local/sonarqube/softs/sonar-scanner-3.1.0.1141-linux
PATH=$SONAR_RUNNER_HOME/bin:$PATH
export SONAR_RUNNER_HOME
export PATH

3校验

[root@localhost sonar-scanner-3.1.0.1141-linux]# sonar-scanner -v
INFO: Scanner configuration file: /usr/local/sonarqube/softs/sonar-scanner-3.1.0.1141-linux/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 3.1.0.1141
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Linux 3.10.0-957.el7.x86_64 amd64
[root@localhost sonar-scanner-3.1.0.1141-linux]#

2配置代码

1项目工程目录下,新进一个配置文件sonar-project.properties

[es@localhost 6.3.5.X-online]$ cd /usr/local/sonarqube/project/6.3.5.X-online

 

[es@localhost 6.3.5.X-online]$ vim sonar-project.properties

#工程key
sonar.projectKey=6.3.5.X-online  
#工程名
sonar.projectName=6.3.5.X-online  
#
sonar.projectVersion=1.0
#java文件目录
sonar.sources=src               
#class文件目录
sonar.java.binaries=target/classes  

sonar.langure=java
sonar.sourceEncoding=UTF-8

[root@localhost 6.3.5.X-online]# sonar-scanner

报错

 解决

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值