sonarqube

sonar #

安装服务端 sonarqube:8.9-community 版本 #

检查linux系统限制 #

bash
# 查看关键参数
sysctl vm.max_map_count
sysctl fs.file-max
ulimit -n
ulimit -u

# 设置参数
sysctl -w vm.max_map_count=524288
sysctl -w fs.file-max=131072
ulimit -n 131072
ulimit -u 8192

更多细节,请查看官方文档: https://docs.sonarsource.com/ 位置:Requirements > Prerequisites and overviews

docker-compose.yml #

yml
volumes:
  sonar-data-v8:
    name: sonar-data-v8
  sonar-logs-v8:
    name: sonar-logs-v8
  sonar-extensions-v8:
    name: sonar-extensions-v8
  sonar-db-v8:
    name: sonar-db-v8
services:
  app:
    image: sonarqube:8.9-community
    container_name: sonarqube
    restart: unless-stopped
    user: sonarqube
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - sonar-data-v8:/opt/sonarqube/data
      - sonar-logs-v8:/opt/sonarqube/logs
      - sonar-extensions-v8:/opt/sonarqube/extensions
    ports:
      - "127.0.0.1:9020:9000"
      - "127.0.0.1:9021:9001"
    environment:
      - "SONAR_JDBC_URL=jdbc:postgresql://db:5432/postgres"
      - "SONAR_JDBC_USERNAME=postgres"
      - "SONAR_JDBC_PASSWORD=postgres"
  db:
    image: bitnami/postgresql:16.6.0
    container_name: sonarqube_db
    restart: unless-stopped
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - sonar-db-v8:/bitnami/postgresql
    environment:
      - "POSTGRESQL_USERNAME=postgres"
      - "POSTGRESQL_PASSWORD=postgres"
      - "POSTGRESQL_DATABASE=postgres"
      - "POSTGRESQL_PORT_NUMBER=5432"

plugins #

1)导出PDF插件: https://gitee.com/zzulj/sonar-pdf-plugin 2)中文语言插件: https://github.com/xuhuisheng/sonar-l10n-zh

使用scanners客户端 #

详细内容,请查看这篇文章: ../tools/sonar-scanner

2025年7月29日