SonarQube是一个用于质量系统开发的开源工具。它是用Java编写的,支持多个数据库。它提供了持续检查代码、显示应用程序的健康和突出新引入的问题的功能。它包含了用于检测棘手问题的代码分析程序。它也很容易与DevOps集成。
步骤1:执行系统更新
在CentOS服务器实例上安装任何包之前,建议对系统进行更新。使用sudo用户登录,并运行以下命令来更新系统。
sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now
一旦系统完成了重新启动,再以sudo用户的身份登录,并进入下一个步骤。
步骤2:安装Java
1、通过输入:下载Oracle SE JDK RPM包:
wget –no-cookies –no-check-certificate –header “Cookie:oraclelicense=accept-securebackup-cookie” “http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm”
通过输入安装下载的包:
sudo yum -y localinstall jdk-8u131-linux-x64.rpm
现在,您可以通过键入来检查Java的版本:
java -version
步骤3:安装和配置PostgreSQL
通过键入:安装PostgreSQL存储库
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
通过运行:安装PostgreSQL数据库服务器:
sudo yum -y install postgresql96-server postgresql96-contrib
初始化数据库:
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
编辑/var/lib/pgsql/9.6/data/pg_hba.conf 以启用基于md5的身份验证。
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
找到以下几行,并将peer更改为 trust , idnet更改为 md5。
# TYPE DATABASE USER ADDRESS METHOD # “local” is for Unix domain socket connections onlylocal all all peer# IPv4 local connections:host all all 127.0.0.1/32 ident# IPv6 local connections:host all all ::1/128 ident
一旦更新,配置应该如下所示。
# TYPE DATABASE USER ADDRESS METHOD # “local” is for Unix domain socket connections onlylocal all all trust# IPv4 local connections:host all all 127.0.0.1/32 md5# IPv6 local connections:host all all ::1/128 md5
启动PostgreSQL服务器,并允许它在启动时自动启动:
sudo systemctl start postgresql-9.6sudo systemctl enable postgresql-9.6
更改默认的PostgreSQL用户的密码。
sudo passwd postgres
切换到postgres用户。
su – postgres
通过输入创建新用户:
createuser sonar
切换到PostgreSQL shell。
psql
新创建的SonarQube数据库设置一个密码。
ALTER USER sonar WITH ENCRYPTED password ‘StrongPassword’;
通过运行:为PostgreSQL数据库创建一个新的数据库:
CREATE DATABASE sonar OWNER sonar;
退出psql shell:
\q
通过运行exit命令切换回sudo用户。
步骤4:下载和配置SonarQube
下载SonarQube安装文件存档。
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip
在SonarQube下载页面上,您可以始终查找该应用程序的最新版本的链接。
安装解压运行:
sudo yum -y install unzip
使用下面的命令解压缩存档。
sudo unzip sonarqube-6.4.zip -d /opt
重命名目录:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
使用您最喜欢的文本编辑器打开SonarQube配置文件。
sudo nano /opt/sonarqube/conf/sonar.properties
找到下面的行。
#sonar.jdbc.username=#sonar.jdbc.password=
取消注释,并提供我们先前创建的数据库的PostgreSQL用户名和密码。它应该看起来像:
sonar.jdbc.username=sonarsonar.jdbc.password=StrongPassword
接下来,找到:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
取消注释,保存文件并退出编辑器。
步骤5:配置Systemd服务
可以直接使用安装包中提供的启动脚本启动SonarQube。为了方便起见,您应该为SonarQube设置一个Systemd单元文件。
sudo nano /etc/systemd/system/sonar.service
填充文件:
[Unit]Description=SonarQube serviceAfter=syslog.target network.target [Service]Type=forking ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh startExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop User=rootGroup=rootRestart=always [Install]WantedBy=multi-user.target启动应用程序:
sudo systemctl start sonar
允许SonarQube服务在启动时自动启动。
sudo systemctl enable sonar
要检查服务是否正在运行,运行:
sudo systemctl status sonar
步骤5:配置反向代理
默认情况下,SonarQube在端口9000上监听本地主机。在本教程中,我们将使用Apache作为反向代理,以便可以通过标准的HTTP端口访问应用程序。通过运行安装Apache web服务器:
sudo yum -y install httpd
创建一个新的虚拟主机。
sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf
填充文件:
<VirtualHost *:80> ServerName sonar.yourdomain.com ServerAdmin me@yourdomain.com ProxyPreserveHost On ProxyPass / http://localhost:9000/ ProxyPassReverse / http://localhost:9000/ TransferLog /var/log/httpd/sonar.yourdomain.com_access.log ErrorLog /var/log/httpd/sonar.yourdomain.com_error.log</VirtualHost>
启动Apache并使它在启动时自动启动:
sudo systemctl start httpdsudo systemctl enable httpd
第六步:配置防火墙
通过系统防火墙允许所需的HTTP端口。
sudo firewall-cmd –add-service=http –permanentsudo firewall-cmd –reload
启动SonarQube服务:
sudo systemctl start sonar
您还需要禁用SELinux:
sudo setenforce 0
SonarQube安装在您的服务器上,在以下地址访问仪表板。
http://sonar.yourdomain.com
使用初始管理员帐户、admin和admin登录。现在您可以使用SonarQube来持续分析所编写的代码。
Vultr 新用户直送 50-100 美元活动再次开启,社交 转发再领 3 美元
未经允许不得转载:Vultr中文网 » Vultr VPS安装SonarQube教程(基于CentOS 7系统)