如何在Ubuntu 16.04上安装SonarQube?

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

在本文中,笔者将与大家分享如何在Ubuntu 16.10上安装最新版本的SonarQube。

 

准备:

一款使用至少2gb RAM的Ubuntu 64位的Ubuntu 16.04服务器实例。

sudo用户。

 

步骤1:执行系统更新

在Ubuntu服务器实例上安装任何包之前,建议对系统进行更新。使用sudo用户登录,并运行以下命令来更新系统。

sudo apt-get update
sudo apt-get -y upgrade

步骤2:安装JDK

通过运行在服务器上添加Oracle Java存储库。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

通过输入来安装Oracle JDK:

sudo apt install oracle-java8-installer
现在,您可以通过键入来检查Java的版本:
java -version

步骤3:安装和配置PostgreSQL

安装PostgreSQL库。

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

通过运行:安装PostgreSQL数据库服务器:

sudo apt-get -y install postgresql postgresql-contrib

启动PostgreSQL服务器,并允许它在启动时自动启动:

sudo systemctl start postgresql
sudo systemctl enable postgresql

更改默认的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下载页面上,您可以始终查找该应用程序的最新版本的链接。

安装解压运行:

apt-get -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=sonar
sonar.jdbc.password=StrongPassword

接下来,找到:

#sonar.jdbc.url=jdbc:postgresql://localhost/sonar

取消注释,保存文件并退出编辑器。

 

步骤5:配置Systemd服务

可以直接使用安装包中提供的启动脚本启动SonarQube。为了方便起见,您应该为SonarQube设置一个Systemd单元文件。

nano /etc/systemd/system/sonar.service

填充文件:

[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=root
Group=root
Restart=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 apt-get -y install apache2

启用mod_proxy。

sudo a2enmod proxy
sudo a2enmod proxy_http

创建一个新的虚拟主机

sudo nano /etc/apache2/sites-available/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>

启用虚拟主机。

sudo a2ensite sonar.yourdomain.com.conf

启动Apache并使它在启动时自动启动:

sudo systemctl start apache2
sudo systemctl enable apache2

如果您的服务器已经在运行,请重新启动它:

sudo systemctl restart apache2

第六步:安装完成

启动SonarQube服务:

sudo systemctl start sonar

SonarQube安装在您的服务器上,在以下地址访问仪表板。

http://sonar.yourdomain.com

使用初始管理员帐户、admin和admin登录。您现在可以使用SonarQube不断分析你所写的代码。

posted @ 2020-04-01 20:36  花的世界  阅读(1041)  评论(0编辑  收藏  举报