SonarQube - 安装与运行SonarQube
1 - 下载SonarQube
SonarQube有多个版本,其中CE(Community Edition)版本免费开源,其余的开发者版本、企业版本和数据中心版本都是收费版本。
- 官网下载:https://www.sonarqube.org/downloads/
- CE下载:https://binaries.sonarsource.com/Distribution/sonarqube/
特别说明:
- 当前CE最新版本为8.0:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.0.zip
- 为了避免出现未知问题,本文采用CE v6.7.7:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip
2 - 准备
官网安装要求:https://docs.sonarqube.org/latest/requirements/requirements/
对硬件、操作系统参数设置、Java版本等都有对应的要求。
确认系统和Java版本信息
[root@node201 ~]# cat /etc/system-release
CentOS Linux release 7.5.1804 (Core)
[root@node201 ~]#
[root@node201 ~]# uname -a
Linux node201 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@node201 ~]# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
临时修改Linux系统级别的参数
[root@node201 ~]#
[root@node201 ~]# sysctl vm.max_map_count
vm.max_map_count = 65530
[root@node201 ~]# sysctl fs.file-max
fs.file-max = 790172
[root@node201 ~]# ulimit -n
1024
[root@node201 ~]# ulimit -u
31155
[root@node201 ~]#
[root@node201 ~]# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144
[root@node201 ~]# sysctl -w fs.file-max=65536
fs.file-max = 65536
[root@node201 ~]# ulimit -n 65536
[root@node201 ~]# ulimit -u 4096
[root@node201 ~]#
[root@node201 ~]# sysctl vm.max_map_count
vm.max_map_count = 262144
[root@node201 ~]# sysctl fs.file-max
fs.file-max = 65536
[root@node201 ~]# ulimit -n
65536
[root@node201 ~]# ulimit -u
4096
[root@node201 ~]#
永久修改Linux系统级别的参数
[root@node201 ~]# vim /etc/sysctl.conf
[root@node201 ~]# cat /etc/sysctl.conf |grep -v "#"
vm.max_map_count = 262144
fs.file-max = 65536
[root@node201 ~]#
[root@node201 ~]# vim /etc/security/limits.conf
[root@node201 ~]# cat /etc/security/limits.conf |grep -v "#"
* soft nofile 65536
* hard nofile 65536
[root@node201 ~]#
[root@node201 ~]# reboot
......
......
......
[root@node201 ~]# sysctl vm.max_map_count
vm.max_map_count = 262144
[root@node201 ~]# sysctl fs.file-max
fs.file-max = 65536
[root@node201 ~]# ulimit -n
65536
[root@node201 ~]# ulimit -u
31155
[root@node201 ~]#
数据库(非必须)
SonarQube服务器默认使用自带的H2数据库,但建议只在测试阶段使用。
在实际项目使用时,更改为更加稳定强大的外置数据库,例如开源免费的PostgreSQL等。
3 - 安装
ElasticSearch组件不允许使用root启动,因此需要创建sonar用户,用于启动SonarQube服务器进程。
[root@node201 ~]# adduser sonar
[root@node201 ~]# passwd sonar
Changing password for user sonar.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@node201 ~]#
[root@node201 ~]# visudo
[root@node201 ~]# cat /etc/sudoers |grep "sonar"
sonar ALL=(ALL) ALL
[root@node201 ~]#
[root@node201 ~]# su - sonar
Last login: Thu Nov 28 14:55:07 CST 2019 on pts/0
[sonar@node201 ~]$
下载并解压缩
[root@node201 ~]# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip
......
......
......
[root@node201 ~]# ll sonarqube-6.7.7.zip
-rw-r--r-- 1 root root 159921852 Nov 28 14:52 sonarqube-6.7.7.zip
[root@node201 ~]#
[root@node201 ~]# ll /usr/share/sonar*
ls: cannot access /usr/share/sonar*: No such file or directory
[root@node201 ~]#
[root@node201 ~]# unzip sonarqube-6.7.7.zip -d /usr/share/
......
......
......
[root@node201 ~]# ll /usr/share/sonarqube-6.7.7
total 12
drwxr-xr-x 8 root root 136 Apr 16 2019 bin
drwxr-xr-x 2 root root 50 Apr 16 2019 conf
-rw-r--r-- 1 root root 7651 Apr 16 2019 COPYING
drwxr-xr-x 2 root root 24 Apr 16 2019 data
drwxr-xr-x 7 root root 150 Apr 16 2019 elasticsearch
drwxr-xr-x 4 root root 40 Apr 16 2019 extensions
drwxr-xr-x 9 root root 140 Apr 16 2019 lib
drwxr-xr-x 2 root root 6 Apr 16 2019 logs
drwxr-xr-x 2 root root 24 Apr 16 2019 temp
drwxr-xr-x 9 root root 4096 Apr 16 2019 web
[root@node201 ~]#
设置权限并启动sonar服务
[root@node201 ~]# chown -R sonar:sonar /usr/share/sonarqube-6.7.7
[sonar@node201 ~]$ sh /usr/share/sonarqube-6.7.7/bin/linux-x86-64/sonar.sh start
Starting SonarQube...
Started SonarQube.
[sonar@node201 ~]$
开放端口
[sonar@node201 ~]$ sudo firewall-cmd --add-port=9000/tcp --permanent
success
[sonar@node201 ~]$ sudo firewall-cmd --reload
success
[sonar@node201 ~]$
打开SonarQube界面,默认web端口为9000,
http://192.168.16.201:9000/
管理员默认账号和密码为admin/admin
4 - 参考消息
- https://docs.sonarqube.org/latest/setup/get-started-2-minutes/
- https://docs.sonarqube.org/display/SONAR/Installing+the+Server
SonarQube - 安装与运行SonarQube的更多相关文章
- CentOS7 SonarQube安装
CentOS7 SonarQube安装 CentOS7 SonarQube安装 Download 从sonarqube下载sonarqube-5.0.zip 从sonarqube下载sonar-run ...
- SonarQube安装文档
1.SonarQube 1.1 SonarQube介绍 SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube是否可以使用自定义规则由开发人员的开 ...
- 代码审查工具Sonarqube安装
前言:在项目开发当中,完成需求并上线是一件很开心的事情,但为了能按时上线功能不得不为了完成功能而写代码,写的时候觉得先把功能上了以后再回头优化此处代码,但真正上线之后你就会发现你再也不想去修改之前遗留 ...
- SonarQube安装
要求 至少1G以上内存,推荐为2G Java:Oracle JRE 7u75+,OpenJDK 7u75+ 数据库: Microsoft SQL Server 2008/2012/2014 MySQL ...
- sonarQube安装及本机扫描C#项目
因项目需要,需要使用sonarQube对代码进行扫描并查看,因对sonarQube不熟悉,所以先在本机搭建测试环境. 参考了张老师的博客:http://www.cnblogs.com/danzhang ...
- .net持续集成sonarqube篇之sonarqube安装与基本配置
系列目录 Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/downloads/下载版本有两个,一个是长期支持版,另一个是最新版,此处安装 ...
- 从零开始针对 .NET 应用的 DevOps 运营实践 - Jenkins & SonarQube 安装配置
一.Overview 继续 DevOps 实施的相关内容,在上一篇的博客中,完成了对于工具链中使用到的软件所需的运行环境的配置,在这一篇的博客中,将聚焦于我们使用到的两个主要的软件:Jenkins 与 ...
- Python 2/3 安装与运行环境设置
Python 2/3 安装与运行环境设置: 1.Python 软件源:https://www.python.org/ 下载Win版本 https://www.python.org/downloa ...
- 使用工具安装,运行,停止,卸载Window服务
WSWinForm.exe介绍 WSWinForm.exe是我自己开发的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说WSWinForm只是其注册程序的服务外壳,这个特性对 ...
随机推荐
- moya与网络编程思想:网络请求的生命周期
请求数据管理的集中化: 请求配置的标注化: 请求管理的函数式参量化: 几个端点: target代表应用端的原始数据; endpoint代表应用端到网络端的中间数据,这个数据可以编辑公用数据header ...
- jquery ajax在ie9下跨域不执行 crossDomain: true == !(document.all)
<!DOCTYPE html> <html> <head> <title>jQuery CORS in IE7 - IE10</title> ...
- Docker中Maven私服的搭建
为何用到Maven私服? 在实际开发中,项目中可能会用到第三方的jar.内部通讯的服务接口都会打入到公司的私服中. 我们从项目实际开发来看: 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服 ...
- Edge Beta 进入无痕模式 快捷方式
“浏览器路径” -InPrivate 在快捷方式的路径后加 -InPrivate 就可以了
- sql 将字符串转化为table
/* *参数说明: 第一个参数为要转化的字符串,第二个参数为字符串中间的分隔符 */ ),)) )) as begin ) set @SourceSql=@SourceSql+@StrSeprate ...
- 读RAM时的时序风险
读RAM时的时序有两个风险:1.数据已经存储好,读所需的时间.2.数据同时更新,读所需的时间节点.对于前者,只要延时足够节拍就行.对于后者,还必须要考虑数据建立的时间,同样延时的准备可能会因为数据尚未 ...
- 表格样式、表格css、
.mytab{ border-collapse: collapse;}.mytab tr,.mytab td,.mytab th{ text-align: center; border: 1px so ...
- 【Gamma】Scrum Meeting 4 & 助教参会记录
目录 前言 任务分配 燃尽图 会议照片 签入记录 上周助教交流总结 技术博客 一些说明 前言 第4次会议于5月29日22:00线上交流形式召开. 交流确认了各自的任务进度,并与助教进行了沟通.时长20 ...
- 拷贝Maven依赖jar包到指定目录
一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: 1 mvn dependency:copy-de ...
- Mybatis的if标签判断空字符串 == 0,参数为0时会自动转为空字符串
对于这个问题,有两种解决办法. 1.当传入的参数有0时,只判断!=null即可. 2.将0转化为String类型,就可以解决这个问题.