SonarQube - 安裝與運行SonarQube


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM