SonarQube 在 Ubuntu 20.04 LTS 上的安装教程

SonarQube 在 Ubuntu 20.04 LTS 上的安装教程

简介

SonarQube 是一个开源的基于 Web 的代码质量分析工具。SonarQube 可以通过插件分析多种编程语言的代码。本教程将手把手教你如何在 Ubuntu 20.04 LTS 上安装 SonarQube。

准备工作

服务器准备

必要前提:

  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://www.rainyun.com/NTE2NDM3_

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品云服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。
    截图占位符
  • 按照自己需求选择配置,选择 Ubuntu 22.04 版本,按照自己需求是否预装 Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
    截图占位符
  • 我们使用 PowerShell 进行 SSH 远程连接到服务器,Win+R 打开运行窗口,输入 powershell 后点击确定。
    截图占位符
  • 到此为止,我们的云服务器就远程连接上了。

安装和配置步骤

第一步:安装 OpenJDK 11

  1. SSH 到你的 Ubuntu 服务器作为一个非 root 用户且拥有 sudo 权限。
$ sudo apt-get install openjdk-11-jdk -y

第二步:安装和配置 PostgreSQL

  1. 添加 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'
  1. 添加 PostgreSQL 签名密钥。
$ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
  1. 安装 PostgreSQL。
$ sudo apt install postgresql postgresql-contrib -y
  1. 使数据库服务器在重启时自动启动。
$ sudo systemctl enable postgresql
  1. 启动数据库服务器。
$ sudo systemctl start postgresql
  1. 更改默认 PostgreSQL 密码。
$ sudo passwd postgres
  1. 切换到 postgres 用户。
$ su - postgres
  1. 创建一个名为 sonar 的用户。
$ createuser sonar
  1. 登录 PostgreSQL。
$ psql
  1. sonar 用户设置密码。请使用强密码替换 my_strong_password
ALTER USER sonar WITH ENCRYPTED password 'my_strong_password';
  1. 创建一个 sonarqube 数据库并将所有者设置为 sonar
CREATE DATABASE sonarqube OWNER sonar;
  1. 授予 sonar 用户对 sonarqube 数据库的所有权限。
GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;
  1. 退出 PostgreSQL。
\q
  1. 返回到你的非 root sudo 用户账户。
$ exit

第三步:下载和安装 SonarQube

  1. 安装 zip 工具,这是解压 SonarQube 文件所必需的。
$ sudo apt-get install zip -y
  1. 从 SonarQube 官方下载页面找到最新的下载链接。

  2. 下载 SonarQube 分发文件。

$ sudo wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-<VERSION_NUMBER>.zip
  1. 解压下载的文件。
sudo unzip sonarqube-<VERSION_NUMBER>.zip
  1. 将解压的文件移动到 /opt/sonarqube 目录
sudo mv sonarqube-<VERSION_NUMBER> /opt/sonarqube

第四步:添加 SonarQube 组和用户

创建一个专用于 SonarQube 的用户和组,不能以 root 用户运行。

  1. 创建一个 sonar 组。
$ sudo groupadd sonar
  1. 创建一个 sonar 用户并将 /opt/sonarqube 设置为家目录。
$ sudo useradd -d /opt/sonarqube -g sonar sonar
  1. 授予 sonar 用户对 /opt/sonarqube 目录的访问权限。
$ sudo chown sonar:sonar /opt/sonarqube -R

第五步:配置 SonarQube

  1. 编辑 SonarQube 配置文件。
$ sudo nano /opt/sonarqube/conf/sonar.properties

找到以下行:

#sonar.jdbc.username=
#sonar.jdbc.password=

取消注释这些行,并添加你在第二步中创建的数据库用户和密码。

sonar.jdbc.username=sonar
sonar.jdbc.password=my_strong_password

在这两行下面,添加 sonar.jdbc.url

sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
  1. 保存并退出文件。

  2. 编辑 sonar 脚本文件。

$ sudo nano /opt/sonarqube/bin/linux-x86-64/sonar.sh

大约在 50 行处,找到这行:

#RUN_AS_USER=

取消注释这行并更改为:

RUN_AS_USER=sonar
  1. 保存并退出文件。

第六步:设置 Systemd 服务

  1. 创建一个 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
  1. 保存并退出文件。

  2. 启用 SonarQube 服务以在系统启动时运行。

$ sudo systemctl enable sonar
  1. 启动 SonarQube 服务。
$ sudo systemctl start sonar
  1. 检查服务状态。
$ sudo systemctl status sonar

第七步:修改内核系统限制

SonarQube 使用 Elasticsearch 来存储其索引在 MMap FS 目录中。它需要对系统默认值进行一些更改。

  1. 编辑 sysctl 配置文件。
$ sudo nano /etc/sysctl.conf

添加以下行。

vm.max_map_count=262144
fs.file-max=65536
ulimit -n 65536
ulimit -u 4096
  1. 保存并退出文件。

  2. 重启系统以应用更改。

$ sudo reboot

第八步:访问 SonarQube Web 界面

在 Web 浏览器中访问你的服务器 IP 地址上的 9000 端口。例如:

http://192.0.2.123:9000

使用用户名 admin 和密码 admin 登录。SonarQube 会提示你更改密码。

结尾

以上就是在 Ubuntu 20.04 LTS 上安装 SonarQube 的全部步骤。希望这篇文章能帮助你成功部署 SonarQube。更多信息,请查看 SonarQube 文档。

雨云 - 新一代云服务提供商: https://www.rainyun.com/NTE2NDM3_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xxin¥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值