现在的位置: 首页 > 新手VPS教程 > 正文

教程:在CentOS 7上安装SonarQube程序

2017年11月04日 新手VPS教程 ⁄ 共 4070字 ⁄ 字号 教程:在CentOS 7上安装SonarQube程序已关闭评论 ⁄ 阅读 364 views 次

SonarQube是一个用于质量系统开发的开源工具。它是用Java编写的,支持多个数据库。它提供了持续检查代码、显示应用程序的健康和突出新引入的问题的功能。它包含了用于检测棘手问题的代码分析程序。它也很容易与DevOps集成。

 

前提条件

一64位CentOS 7 Vultr服务器实例,至少有2 GB RAM。

sudo用户。

 

步骤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 [email protected]    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来持续分析所编写的代码。

抱歉!评论已关闭.

×