参考文档

  1. 官方文档

安装数据库

官方给出几种数据库:
在这里插入图片描述

# 我们选用postgres, 拉取镜像
docker pull postgres:16.0

# 创建存储卷
docker volume create postgresql-data

# 运行容器
docker run -d --name sonarqube-postgres \
    -p 5432:5432 \
    -e POSTGRES_DB=sonar_DB \
    -e POSTGRES_USER=admin \
    -e POSTGRES_PASSWORD=admin \
    -v postgresql-data:/var/lib/postgresql/data \
    postgres:15.0

安装sonarqube

这里选择最简单方式,使用镜像,官方也提供利用zip文件方式。

# 创建存储卷
docker volume create --name sonarqube_data
docker volume create --name sonarqube_logs
docker volume create --name sonarqube_extensions

下面是一个简单的docker run命令示例,用于启动SonarQube容器:

# 运行容器
docker run -d --name sonarqube \
    -p 9000:9000 \
    -e SONAR_JDBC_URL=jdbc:postgresql://sonarqube-postgres:5432/sonar_DB \
    -e SONAR_JDBC_USERNAME=sonar \
    -e SONAR_JDBC_PASSWORD=sonar \
    -v sonarqube_data:/opt/sonarqube/data \
    -v sonarqube_extensions:/opt/sonarqube/extensions \
    -v sonarqube_logs:/opt/sonarqube/logs \
    --link sonarqube-postgres:sonarqube-postgres \
    sonarqube:last

Sonarqube安装中文插件

参考文档

  1. 安装中文插件

操作

登陆成功后,点击顶部Administration --〉Marketplace,输入Chinese搜索中文汉化包,点击install,等待安装重启即可。

Sonarqube安装多分支支持插件

插件下载

  1. sonar-插件-community-branch-plugin

安装插件

  1. 复制插件到/opt/sonarqube/extensions/plugins目录下,并修改权限777

  2. 容器添加两个环境变量

    SONAR_WEB_JAVAOPTS=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.14.0.jar=web
    SONAR_CE_JAVAADDITIONALOPTS=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.14.0.jar=ce
    
  3. 重启;

完整配置如下

docker run -d --name sonarqube \
    -p 9000:9000 \
    -e SONAR_JDBC_URL=jdbc:postgresql://sonarqube-postgres:5432/sonar_DB \
    -e SONAR_JDBC_USERNAME=sonar \
    -e SONAR_JDBC_PASSWORD=sonar \
    -v sonarqube_data:/opt/sonarqube/data \
    -v sonarqube_extensions:/opt/sonarqube/extensions \
    -v sonarqube_logs:/opt/sonarqube/logs \
    -v sonarqube_pdfs:/opt/sonarqube/pdf-files \
    --link sonarqube-postgres:sonarqube-postgres \
    sonarqube:last

更多插件安装

插件工程

  1. sonar-插件PDF
# 创建存储卷
docker volume create sonarqube_pdfs

docker run -d --name sonarqube \
    -p 9000:9000 \
    -e SONAR_JDBC_URL=jdbc:postgresql://sonarqube-postgres:5432/sonar_DB \
    -e SONAR_JDBC_USERNAME=sonar \
    -e SONAR_JDBC_PASSWORD=sonar \
    -v sonarqube_data:/opt/sonarqube/data \
    -v sonarqube_extensions:/opt/sonarqube/extensions \
    -v sonarqube_logs:/opt/sonarqube/logs \
    -v sonarqube_pdfs:/opt/sonarqube/pdf-files \
    --link sonarqube-postgres:sonarqube-postgres \
    sonarqube:last
  1. sonar-插件PMD+P3C
  2. P3C-JDK

备份迁移

  1. 旧服务器上的容器退出运行:sonarqube、postgres
  2. 把存储数据卷备份下载,可以进行压缩,方便传输
  3. 将备份存储卷解压后放置到新的存储卷中
  4. 重新按照部署方式进行新容器启动
Logo

一站式 AI 云服务平台

更多推荐