如何在 Ubuntu 20.04 LTS 上安装 SonarQube

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 主页:

sonarqube-dashboard

感谢您使用本教程在 Ubuntu 20.04 LTS Focal Fossa 系统上安装 SonarQube。如需其他帮助或有用信息,我们建议您查看官方 SonarQube 网站

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun2789.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年6月25日
下一篇 2021年6月29日

相关推荐