SonarQube 是一个基于 Web 的开源工具,用于管理代码质量和代码分析。SonarQube 包括错误和漏洞检测以及代码跟踪等功能。SonarQube 可以集成到 GitHub、Azure DevOps、Bitbucket、GitLab和 Docker。如果您碰巧有一个本地 Linux 服务器,或者有 AWS、Google Cloud 或 Azure 之类的云帐户,那么您可以免费部署社区版的 SonarQube。
在 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
保存并关闭文件,您现在可以使用以下两个命令启动和启用 SonarQube 服务:
sudo systemctl start sonarqube
sudo systemctl enable sonarqube
步骤 7. 访问 SonarQube Web 界面。
成功安装后,使用浏览器类型的服务器 IP 和端口 9000 访问 SonarQube:
http://your-server-ip-address:9000
您最终应该会看到一个登录屏幕,您将在其中使用 admin/admin 的默认凭据。身份验证成功后,您将需要更改默认密码。处理完这些后,您会发现自己位于 SonarQube 主页:
感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 SonarQube。如需其他帮助或有用信息,我们建议您查看官方 SonarQube 网站。