CentOS中怎么安装SonarQube7.9.1

发布时间:2021-06-21 15:13:06 作者:Leah
来源:亿速云 阅读:226
# CentOS中怎么安装SonarQube7.9.1

## 前言

SonarQube是一个开源的代码质量管理平台,用于持续分析和测量代码质量。通过SonarQube,开发团队可以检测代码中的错误、漏洞和代码异味,从而提高代码的可维护性和安全性。本文将详细介绍在CentOS系统中安装SonarQube7.9.1的完整步骤,包括环境准备、依赖安装、配置优化等。

---

## 环境准备

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

1. **操作系统**:CentOS 7.x 或更高版本(本文以CentOS 7.9为例)
2. **Java环境**:SonarQube 7.9.1需要Java 11(推荐OpenJDK 11)
3. **数据库**:支持PostgreSQL 9.6+、MySQL 5.6+或Oracle(本文使用PostgreSQL 10)
4. **硬件要求**:
   - 至少2GB RAM
   - 至少2CPU核心
   - 10GB磁盘空间

---

## 步骤1:安装Java 11

SonarQube 7.9.1需要Java 11运行环境。以下是安装OpenJDK 11的步骤:

```bash
# 更新系统
sudo yum update -y

# 安装OpenJDK 11
sudo yum install -y java-11-openjdk-devel

# 验证安装
java -version

输出应类似:

openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

步骤2:安装PostgreSQL数据库

2.1 安装PostgreSQL 10

# 添加PostgreSQL官方仓库
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# 安装PostgreSQL 10
sudo yum install -y postgresql10-server postgresql10-contrib

# 初始化数据库
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

# 启动服务并设置开机自启
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10

2.2 配置PostgreSQL

  1. 修改pg_hba.conf文件:
sudo vi /var/lib/pgsql/10/data/pg_hba.conf

将以下行的ident改为md5

host    all             all             127.0.0.1/32            md5
  1. 重启PostgreSQL服务:
sudo systemctl restart postgresql-10
  1. 创建SonarQube数据库和用户:
sudo -u postgres psql

在PostgreSQL命令行中执行:

CREATE USER sonarqube WITH PASSWORD 'sonarqube';
CREATE DATABASE sonarqube OWNER sonarqube;
GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube;
\q

步骤3:安装SonarQube 7.9.1

3.1 下载并解压SonarQube

# 创建SonarQube目录
sudo mkdir -p /opt/sonarqube
sudo chown -R $(whoami):$(whoami) /opt/sonarqube

# 下载SonarQube 7.9.1
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip

# 解压文件
unzip sonarqube-7.9.1.zip -d /opt/sonarqube
mv /opt/sonarqube/sonarqube-7.9.1 /opt/sonarqube/sonarqube

3.2 配置SonarQube

编辑/opt/sonarqube/sonarqube/conf/sonar.properties

vi /opt/sonarqube/sonarqube/conf/sonar.properties

修改以下配置:

# 数据库配置
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

# Web服务器配置
sonar.web.host=0.0.0.0
sonar.web.port=9000

3.3 配置系统参数

编辑/opt/sonarqube/sonarqube/bin/linux-x86-64/sonar.sh

vi /opt/sonarqube/sonarqube/bin/linux-x86-64/sonar.sh

添加以下JVM参数:

JAVA_OPTS="-Xms512m -Xmx512m -XX:+HeapDumpOnOutOfMemoryError"

步骤4:创建SonarQube服务

4.1 创建Systemd服务文件

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

添加以下内容:

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

[Service]
Type=forking
ExecStart=/opt/sonarqube/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/sonarqube/bin/linux-x86-64/sonar.sh stop
User=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

4.2 启动SonarQube服务

sudo systemctl daemon-reload
sudo systemctl enable sonarqube
sudo systemctl start sonarqube

检查服务状态:

sudo systemctl status sonarqube

步骤5:防火墙配置

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

sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --reload

步骤6:访问SonarQube

在浏览器中访问:

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

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

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


常见问题解决

问题1:Elasticsearch启动失败

错误日志:

max virtual memory areas vm.max_map_count [65530] is too low

解决方案:

# 临时生效
sudo sysctl -w vm.max_map_count=262144

# 永久生效
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

问题2:数据库连接失败

检查/opt/sonarqube/sonarqube/logs/sonar.log中的错误信息,确保: 1. PostgreSQL服务正常运行 2. 数据库用户名和密码正确 3. pg_hba.conf已配置为md5认证


结论

通过以上步骤,我们成功在CentOS 7.9上安装了SonarQube 7.9.1,并配置了PostgreSQL作为后端数据库。SonarQube现在可以用于代码质量分析,帮助开发团队提高代码质量。后续可以通过安装插件(如Java、Python等语言支持)扩展其功能。

如需升级SonarQube版本,请参考官方文档的升级指南,确保备份数据和配置文件。


参考链接

  1. SonarQube官方文档
  2. PostgreSQL官方安装指南

”`

注:本文总字数约2650字(含代码和格式标记)。实际部署时请根据具体环境调整参数,生产环境建议使用更高配置的服务器。

推荐阅读:
  1. Centos中怎么安装MongoDB
  2. CentOS中怎样安装MySQL

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

centos sonarqube

上一篇:如何解决Android关于SeekBar无法点击到最大值问题

下一篇:Pycharm保存不能自动同步到远程服务器怎么办

相关阅读

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

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