Linux下SonarQube+Scanner离线安装

 Linux下SonarQube+Runner+Scanner离线安装

前提:安装好jdk和MySQL

jdk:Linux下使用rpm安装JDK 

或者 Linux系统jdk使用tar包离线安装 

MySQL:centos7下使用yum安装mysql 

或者 Docker获取mysql镜像,安装 mysql容器

(一)、创建sonar数据库

#创建sonar数据库

mysql> create user 'sonar'@'%' identified by 'yzt12345';

Query OK, 0 rows affected (0.00 sec)

mysql>create database sonarqube;

Query OK, 1 row affected (0.00 sec)

mysql>grant all privileges on sonarqube.* TO 'sonar'@'%' identified by 'yzt12345';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>flush privileges;

Query OK, 0 rows affected (0.00 sec)

(二)、安装SonarQube

第一步:下载

sonarqube-7.5下载地址: wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip

sonar-scanner-cli-4.4.0.2170-linux下载地址:   wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.4.0.2170-linux.zip

sonar-l10n-zh-plugin-1.25.jar下载扫描器地址: wget  https://github.com/xuhuisheng/sonar-l10n-zh/tree/sonar-l10n-zh-plugin-1.25

解压:unzip sonarqube-7.5.zip

移动到/usr/local/下  :mv sonarqube-7.5 /usr/local/sonarqube-7.5

配置权限:chmod -R 777 sonarqube-7.5

第二步:配置sonarqube-7.5

vim /home/deploy/sonarqube-7.5/conf/sonar.properties

 

 

 

sonar.jdbc.url=jdbc:mysql://192.168.18.122:3306/sonarqubu?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

 

sonar.jdbc.username=sonar

 

sonar.jdbc.password=yzt12345

 

sonar.sorceEncoding=UTF-8

 

sonar.login=admin

 

sonar.password=admin

 

第三步:配置sonar-scanner-cli-4.4.0.2170-linux

把sonar-scanner-cli-4.4.0.2170-linux.zip放到 /usr/local/sonarqube-7.5/ 目录下

 解压:unzip sonar-scanner-cli-4.4.0.2170-linux.zip

第四步:配置环境变量

vim /etc/profile 添加以下:

# sonar-scanner

export SONAR_RUNNER_HOME=/usr/local/sonarqube-7.5/sonar-scanner-4.4.0.2170-linux

export PATH=$SONAR_RUNNER_HOME/bin:$PATH

生效:source /etc/profile

第五步:SonarQube汉化

下载汉化插件: GitHub - xuhuisheng/sonar-l10n-zh at sonar-l10n-zh-plugin-1.25

 

 

 

 

把sonar-l10n-zh-plugin-1.25.jar放到 /usr/local/sonarqube-7.5/extensions/plugins/ 目录下 

第六步:SonarQube启动

用root无法启动lSonarQube,需要另外新建普通用户来启动

[root@qsh ~]# useradd esadmin

[root@qsh ~]# chown -R esadmin.esadmin /usr/local/sonarqube - 7.5

[root@qsh ~]# vim /usr/local/sonarqube-7.5/elasticsearch/config/elasticsearch.yml

//开启以下两行

 

 注意:IP为启动sonarqube的机器IP地址,端口为ES的端口,防止与起其他服务冲突。

 

//切换用户,启动

[root@qsh ~]# su - esadmin

[esadmin@qsh ~]$ cd /usr/local/sonarqube-7.5/

[esadmin@qsh sonarqube]$ ./bin/linux-x86-64/sonar.sh start

Starting SonarQube...

Started SonarQube.

//检查是否正常启动

[esadmin@qsh sonarqube]$ ps -aux |grep sonar

//停止sonar

[root@qsh ~]# su - esadmin

[esadmin@qsh ~]$ cd /usr/local/sonarqube-7.5/

[esadmin@qsh sonarqube]$ ./bin/linux-x86-64/sonar.sh stop

Stopping SonarQube...

SonarQube was not running.

//重新启动

[root@qsh ~]# su - esadmin

[esadmin@qsh ~]$ cd /usr/local/sonarqube-7.5/

[esadmin@qsh sonarqube]$ ./bin/linux-x86-64/sonar.sh restart

 

//启动日志查看

#sonarqube

tail -f /usr/local/ssonarqube-7.5/logs/sonar.log

#Es

tail -f /usr/local/sonarqube-7.5/logs/es.log

第七步:使用浏览器就可以直接登陆

 

浏览器输入:http://192.168.18.122:9099/about,即可打开sonarqube

如果能够看到下面的输出信息,证明你的SonarQube Runner安装并配置正确啦。

 

  第八步:

登录:admin/admin

附:启动的时候报错

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

解决方法:

[root@qsh ]#vim /etc/security/limits.conf

#在文件最后添加下面四行

*               soft     nofile          65536

*               hard     nofile         65536

*               soft     nproc          4096

*               hard     npro          4096

#查看文件限制命令

[esadmin@qsh sonarqube]$ ulimit -Hn

655350

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

解决方法:

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

[root@qsh]#vim /etc/sysctl.conf

#添加下面配置:

vm.max_map_count=655360

并执行命令:

[root@qsh]# sysctl -p



 

问题1:sonarQube环境搭建过程中报错:ERROR web[][o.a.c.h.Http11NioProtocol] Failed to initialize end point associated with ProtocolHandler [“http-nio-192.168.X.X-9000”]

java.net.BindException: Cannot assign requested address

解决:使用127.0.0.1,启动没问题,说明IP不对,使用命令ip addr 查询实际IP,即可成功启动

如果是报已经被绑定,说明是进程没有被真正关掉

使用netstat -ano|findstr 9000命令查看,查到PID后,再kill

问题2:

ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.ProjectLock
原因:没有对sonar-scanner进行变量配置
解决方法:vim /etc/profile,添加export PATH="$PATH:/home/sona/sonar-scanner/bin"

 

 

然后source /etc/profile,使文件生效

 

//安装中文语言包手工汉化

选择语言包,点击安装,安装好后重启,重新进入就是汉化版了

 

 

 

 

 

 

 

插件安装位置: /usr/local/sonarqube/extensions/plugins/

 

posted on 2023-01-18 18:27  胖妞的瘦猴  阅读(1027)  评论(0编辑  收藏  举报