Linux系统如何安装SonarQube

发布时间:2022-01-24 10:37:56 作者:小新
来源:亿速云 阅读:287
# Linux系统如何安装SonarQube

## 一、SonarQube简介

SonarQube是一个开源的代码质量管理平台,用于持续分析和测量代码质量。它支持多种编程语言,能够检测代码中的错误、漏洞、代码异味以及重复代码等问题。通过SonarQube,开发团队可以更好地维护代码质量,提高软件的可靠性和可维护性。

### 主要功能
- 代码质量分析
- 静态代码分析
- 技术债务管理
- 多语言支持(Java, C#, JavaScript, Python等)
- 与CI/CD工具集成

## 二、安装前准备

在开始安装SonarQube之前,需要确保系统满足以下要求:

### 1. 系统要求
- **操作系统**:Linux(本文以Ubuntu 20.04为例)
- **Java**:Oracle JRE 11或OpenJDK 11
- **数据库**:PostgreSQL 9.6+、MySQL 5.6+或Oracle(推荐PostgreSQL)
- **内存**:至少4GB RAM
- **磁盘空间**:至少2GB可用空间

### 2. 安装依赖
确保系统已安装必要的依赖工具:

```bash
sudo apt update
sudo apt install -y wget unzip

3. 安装Java

SonarQube需要Java 11运行环境:

sudo apt install -y openjdk-11-jdk

验证Java版本:

java -version

三、安装PostgreSQL数据库

SonarQube支持多种数据库,这里以PostgreSQL为例:

1. 安装PostgreSQL

sudo apt install -y postgresql postgresql-contrib

启动PostgreSQL服务:

sudo systemctl start postgresql
sudo systemctl enable postgresql

2. 创建数据库和用户

切换到postgres用户:

sudo -i -u postgres

创建SonarQube数据库和用户:

createuser sonarqube
psql -c "ALTER USER sonarqube WITH PASSWORD 'sonarqube';"
createdb -O sonarqube sonarqube
exit

3. 配置PostgreSQL

编辑PostgreSQL配置文件:

sudo nano /etc/postgresql/12/main/postgresql.conf

修改以下参数:

shared_buffers = 256MB
work_mem = 4MB

编辑pg_hba.conf文件:

sudo nano /etc/postgresql/12/main/pg_hba.conf

添加以下内容:

local   sonarqube         sonarqube                           md5

重启PostgreSQL服务:

sudo systemctl restart postgresql

四、安装SonarQube

1. 下载SonarQube

访问SonarQube官网获取最新版本下载链接,或直接使用wget下载:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.4.0.54424.zip

解压文件:

unzip sonarqube-9.4.0.54424.zip -d /opt
sudo mv /opt/sonarqube-9.4.0.54424 /opt/sonarqube

2. 创建SonarQube用户

出于安全考虑,不建议使用root用户运行SonarQube:

sudo groupadd sonarqube
sudo useradd -d /opt/sonarqube -g sonarqube sonarqube
sudo chown -R sonarqube:sonarqube /opt/sonarqube

3. 配置SonarQube

编辑SonarQube配置文件:

sudo nano /opt/sonarqube/conf/sonar.properties

修改以下配置:

sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

sonar.web.host=0.0.0.0
sonar.web.port=9000

4. 配置系统限制

编辑系统限制文件:

sudo nano /etc/security/limits.conf

添加以下内容:

sonarqube   -   nofile   65536
sonarqube   -   nproc    4096

5. 配置内核参数

编辑sysctl.conf文件:

sudo nano /etc/sysctl.conf

添加以下内容:

vm.max_map_count=262144
fs.file-max=65536

应用更改:

sudo sysctl -p

五、配置SonarQube服务

1. 创建Systemd服务

创建服务文件:

sudo nano /etc/systemd/system/sonarqube.service

添加以下内容:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=simple
User=sonarqube
Group=sonarqube
PermissionsStartOnly=true
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
LimitNOFILE=65536
LimitNPROC=4096

[Install]
WantedBy=multi-user.target

2. 启动SonarQube服务

重新加载systemd配置:

sudo systemctl daemon-reload

启动SonarQube服务:

sudo systemctl start sonarqube
sudo systemctl enable sonarqube

检查服务状态:

sudo systemctl status sonarqube

六、访问SonarQube

1. 防火墙配置

如果系统启用了防火墙,需要开放9000端口:

sudo ufw allow 9000/tcp
sudo ufw reload

2. 访问Web界面

在浏览器中访问:

http://<服务器IP>:9000

默认管理员凭据: - 用户名:admin - 密码:admin

首次登录后会提示修改密码。

七、基本配置与使用

1. 安装中文插件

  1. 登录后点击右上角”Administration”
  2. 选择”Marketplace”
  3. 搜索”Chinese Pack”
  4. 点击”Install”
  5. 重启SonarQube服务

2. 创建项目

  1. 点击”Create new project”
  2. 输入项目名称和标识符
  3. 选择分析方式(推荐使用令牌)
  4. 根据提示下载扫描器并执行扫描

3. 配置扫描器

以Java项目为例,安装SonarScanner:

wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.7.0.2747-linux.zip
unzip sonar-scanner-cli-4.7.0.2747-linux.zip -d /opt
sudo mv /opt/sonar-scanner-4.7.0.2747-linux /opt/sonar-scanner

配置环境变量:

sudo nano /etc/profile.d/sonar-scanner.sh

添加:

export PATH=$PATH:/opt/sonar-scanner/bin

执行扫描:

sonar-scanner \
  -Dsonar.projectKey=my-project \
  -Dsonar.sources=. \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.login=your_token

八、常见问题解决

1. Elasticsearch启动失败

错误现象:SonarQube启动失败,日志显示Elasticsearch相关问题

解决方案: - 确保系统配置了足够的虚拟内存 - 检查/opt/sonarqube/elasticsearch/config/jvm.options中的内存设置

2. 数据库连接问题

错误现象:无法连接到PostgreSQL

解决方案: - 检查PostgreSQL服务是否运行 - 验证数据库用户名和密码是否正确 - 检查pg_hba.conf配置

3. 文件权限问题

错误现象:启动时提示权限不足

解决方案: - 确保/opt/sonarqube目录及其子目录属于sonarqube用户 - 检查系统限制配置是否正确

九、总结

本文详细介绍了在Linux系统上安装和配置SonarQube的完整过程,包括: 1. 安装前的准备工作 2. PostgreSQL数据库的安装与配置 3. SonarQube的安装与配置 4. 系统服务的设置 5. 基本的Web界面访问与使用 6. 常见问题的解决方法

通过SonarQube,开发团队可以实现代码质量的持续监控和改进,提高软件开发的整体质量。建议定期更新SonarQube版本以获取最新功能和安全补丁。 “`

推荐阅读:
  1. MySQL5.7+SonarQube7.4+SonarScanner4.2安装与使用
  2. Jenkins集成SonarQube Scanner

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux sonarqube

上一篇:Linux系统中如何通过命令连接wifi

下一篇:Linux系统如何安装WebLogic

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》