Linux下SonarQube+Scanner离线安装
Linux下SonarQube+Runner+Scanner离线安装
前提:安装好jdk和MySQL
jdk:Linux下使用rpm安装JDK
MySQL:centos7下使用yum安装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/