Saltar a contenido

Instalación de SonarQube

Descripción

SonarQube es una plataforma de análisis estático de código que ayuda a mantener la calidad del software mediante la detección de bugs, vulnerabilidades de seguridad, code smells y duplicación de código.

Configuración en Docker Compose

El servicio de SonarQube está configurado en el docker-compose.yml con las siguientes características:

sonarqube:
  image: sonarqube:community
  depends_on:
    - db
  environment:
    SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
    SONAR_JDBC_USERNAME: sonar
    SONAR_JDBC_PASSWORD: sonar
    VIRTUAL_HOST: sonar.seekdev.com
    VIRTUAL_PORT: 9000
    LETSENCRYPT_HOST: sonar.seekdev.com
    LETSENCRYPT_EMAIL: jgarcia@seek.pe

Base de Datos

SonarQube utiliza PostgreSQL como base de datos:

  • Host: db (servicio interno)
  • Puerto: 5432
  • Base de datos: sonar
  • Usuario: sonar
  • Contraseña: sonar

Volúmenes

Los siguientes volúmenes están configurados para persistencia:

  • sonarqube_data: Datos de SonarQube
  • sonarqube_extensions: Extensiones y plugins
  • sonarqube_logs: Logs del sistema
  • ./sonarqube/plugins: Plugins personalizados

Acceso

Plugins Recomendados

Los siguientes plugins están disponibles en el directorio ./sonarqube/plugins/:

  • Plugins de análisis de código específicos del lenguaje
  • Plugins de integración con herramientas de CI/CD
  • Plugins de reportes personalizados

Configuración Inicial

  1. Acceder a https://sonar.seekdev.com
  2. Iniciar sesión con las credenciales por defecto
  3. Cambiar la contraseña del usuario admin
  4. Configurar proyectos y reglas de calidad
  5. Integrar con repositorios de código

Monitoreo

SonarQube está integrado con el stack de monitoreo:

  • Prometheus: Métricas del sistema
  • Grafana: Dashboards de monitoreo
  • Loki: Logs del sistema