1 - 下载SonarQube

SonarQube有多个版本,其中CE(Community Edition)版本免费开源,其余的开发者版本、企业版本和数据中心版本都是收费版本。

特别说明:

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 - 参考消息

SonarQube - 安装与运行SonarQube的更多相关文章

  1. CentOS7 SonarQube安装

    CentOS7 SonarQube安装 CentOS7 SonarQube安装 Download 从sonarqube下载sonarqube-5.0.zip 从sonarqube下载sonar-run ...

  2. SonarQube安装文档

    1.SonarQube 1.1 SonarQube介绍 SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube是否可以使用自定义规则由开发人员的开 ...

  3. 代码审查工具Sonarqube安装

    前言:在项目开发当中,完成需求并上线是一件很开心的事情,但为了能按时上线功能不得不为了完成功能而写代码,写的时候觉得先把功能上了以后再回头优化此处代码,但真正上线之后你就会发现你再也不想去修改之前遗留 ...

  4. SonarQube安装

    要求 至少1G以上内存,推荐为2G Java:Oracle JRE 7u75+,OpenJDK 7u75+ 数据库: Microsoft SQL Server 2008/2012/2014 MySQL ...

  5. sonarQube安装及本机扫描C#项目

    因项目需要,需要使用sonarQube对代码进行扫描并查看,因对sonarQube不熟悉,所以先在本机搭建测试环境. 参考了张老师的博客:http://www.cnblogs.com/danzhang ...

  6. .net持续集成sonarqube篇之sonarqube安装与基本配置

    系列目录 Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/downloads/下载版本有两个,一个是长期支持版,另一个是最新版,此处安装 ...

  7. 从零开始针对 .NET 应用的 DevOps 运营实践 - Jenkins & SonarQube 安装配置

    一.Overview 继续 DevOps 实施的相关内容,在上一篇的博客中,完成了对于工具链中使用到的软件所需的运行环境的配置,在这一篇的博客中,将聚焦于我们使用到的两个主要的软件:Jenkins 与 ...

  8. Python 2/3 安装与运行环境设置

    Python 2/3 安装与运行环境设置: 1.Python 软件源:https://www.python.org/    下载Win版本 https://www.python.org/downloa ...

  9. 使用工具安装,运行,停止,卸载Window服务

    WSWinForm.exe介绍 WSWinForm.exe是我自己开发的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说WSWinForm只是其注册程序的服务外壳,这个特性对 ...

随机推荐

  1. css 宽高等比

    1.利用js 2.容器里添加图片,让图片的等比缩放撑大容器,图片z-index=负数,

  2. Java中String对象的存储位置(学习笔记)

    首先,String是final修饰的.immutable对象,它以一个个字符的方式存储在字符数组中.其次,String类型创建对象有两种方式:①通过字面量赋值:会先去常量池中查找是否存在相同的字符串, ...

  3. Zigzag Iterator II

    Description Follow up Zigzag Iterator: What if you are given k 1d vectors? How well can your code be ...

  4. 强大的接口调试工具-Postman图文详解

    前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性.而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及时完成功能 ...

  5. (知识点3)附加到数字的“.f”的目的是什么?

    默认情况下3.2被视为double; 所以为了强制编译器将其视为float,你需要f在最后编写. float a = 3.2; if ( a == 3.2 ) cout << " ...

  6. OpenCV 学习笔记(11)像素级别指针操作

    //优化两图的连接处,使得拼接自然 void OptimizeSeam(Mat& img1, Mat& trans, Mat& dst) { int start = MIN(c ...

  7. call JSON.parse JSON.stringify typeof 的使用及严格模式this的使用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. LOJ3097 SNOI2019 通信 题解

    题目链接 费用流,当建边需要依靠位置和权值两个偏序关系时,可以用cdq分治优化建边. 代码: #include<bits/stdc++.h> using namespace std; #d ...

  9. VTK图像遮罩(vtkImageMask)

    #!/usr/bin/env python import vtk reader = vtk.vtkJPEGReader() reader.SetFileName("Pygoscelis ad ...

  10. Comet OJ - Contest #15 题解

    传送门 \(A\) 咕咕 const int N=1005; int a[N],n,T; int main(){ for(scanf("%d",&T);T;--T){ sc ...