在本教程中,我们将向您展示如何在 Ubuntu 20.04 LTS 上安装 SonarQube。 对于那些不知道的人,SonarQube 是一个基于 Web 的开源工具,用于管理代码质量和代码分析。 SonarQube 包括错误和漏洞检测以及代码跟踪等功能。 SonarQube 可以集成到 GitHub、Azure DevOps、Bitbucket、GitLab 和 Docker。 如果你碰巧有一个本地 Linux 服务器,或者像 AWS、谷歌这样的云帐户 Cloud,或者Azure,好用,可以免费部署社区版SonarQube。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将站点托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户中运行,否则您可能需要添加 ‘sudo
‘ 到获得 root 权限的命令。 我将向您展示在 Ubuntu 20.04 (Focal Fossa) 上逐步安装 SonarQube。 您可以按照针对 Ubuntu 18.04、16.04 和任何其他基于 Debian 的发行版(如 Linux Mint)的相同说明进行操作。
在 Ubuntu 20.04 LTS Focal Fossa 上安装 SonarQube
步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt
终端中的命令。
sudo apt update sudo apt upgrade
步骤 2. 配置内核。
现在修改内核系统限制。 为此,我们必须设置以下内容:
- vm.max_map_count 必须大于或等于 524288
- fs.file-max 必须大于或等于 131072
- SonarQube 用户必须能够打开至少 131072 个文件描述符
- SonarQube 用户必须能够打开至少 8192 个线程
sudo nano /etc/sysctl.conf
将以下行添加到该文件的底部:
vm.max_map_count=262144 fs.file-max=65536 ulimit -n 65536 ulimit -u 4096
接下来,使用以下命令打开limits.conf文件:
sudo nano /etc/security/limits.conf
在此文件的末尾,添加以下内容:
sonarqube - nofile 65536 sonarqube - nproc 4096
然后,重新启动系统以使更改生效。:
reboot
步骤 3. 安装 Java。
运行以下命令安装 OpenJDK 和 JRE 11:
sudo apt install openjdk-11-jdk sudo apt install openjdk-11-jre
步骤 4. 安装 PostgreSQL。
SonarQube 仅适用于 PostgreSQL。 现在我们运行下面的命令来安装它:
sudo apt install postgresql postgresql-contrib
完成后,使用以下命令启动并启用数据库服务:
sudo systemctl enable postgresql sudo systemctl start postgresql
现在我们必须使用以下命令为 PostgreSQL 用户设置密码:
sudo passwd postgres
以 PostgreSQL 超级用户身份登录并创建 SonarQube PostgreSQL 数据库和数据库用户:
sudo -Hiu postgres createuser sonaradmin createdb -O sonaradmin sonarqubedb psql ALTER USER sonaradmin WITH ENCRYPTED password 'changeme'; q exit
步骤 5. 在 Ubuntu 20.04 上安装 SonarQube。
现在从官方网站下载最新版本的 SonarQube 安装程序:
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.1.44547.zip sudo unzip sonarqube-8.9.1.44547.zip -d /opt
将提取的设置移至 /opt/sonarqube
目录:
sudo mv /opt/sonarqube-8.9.1.44547 /opt/sonarqube
步骤 5. 配置 SonarQube。
现在我们创建一个组作为声纳:
sudo groupadd sonar sudo useradd -c "user to run SonarQube" -d /opt/sonarqube -g sonar sonar sudo chown sonar:sonar /opt/sonarqube -R
接下来,使用您喜欢的文本编辑器打开 SonarQube 配置文件:
nano /opt/sonarqube/conf/sonar.properties
找到以下几行:
#sonar.jdbc.username= #sonar.jdbc.password=
取消注释并键入我们在上述步骤中创建的 PostgreSQL 数据库用户名和密码,并添加 postgres 连接字符串:
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
接下来,编辑声纳脚本文件并设置 RUN_AS_USER:
RUN_AS_USER=sonar
现在启动 SonarQube:
sudo su sonar cd /opt/sonarqube/bin/linux-x86-64/
接下来,运行脚本以启动 SonarQube:
./sonar.sh start
要检查 SonarQube 是否正在运行,请输入以下命令:
./sonar.sh status
步骤 6. 配置 Systemd 服务。
现在让我们创建一个 systemd
文件,因此可以控制 SonarQube 服务。 使用以下命令创建文件:
sudo 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=sonar Group=sonar Restart=always LimitNOFILE=65536 LimitNPROC=4096 [Install] WantedBy=multi-user.target
Save 和 close 文件,您现在可以使用以下两个命令启动和启用 SonarQube 服务:
sudo systemctl start sonarqube sudo systemctl enable sonarqube
步骤 7. 访问 SonarQube Web 界面。
成功安装后,使用浏览器类型的服务器 IP 和端口 9000 访问 SonarQube:
https://your-server-ip-address:9000
您最终应该会看到一个登录屏幕,您将在其中使用以下默认凭据 admin/admin. 身份验证成功后,您将需要更改默认密码。 处理完这些后,您会发现自己位于 SonarQube 主页:
恭喜! 您已成功安装 SonarQube。 感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 SonarQube。 如需更多帮助或有用信息,我们建议您查看 SonarQube 官方网站.