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 SonarQubesonarqube_extensions: Extensiones y pluginssonarqube_logs: Logs del sistema./sonarqube/plugins: Plugins personalizados
Acceso¶
- URL: https://sonar.seekdev.com
- Puerto interno: 9000
- Credenciales por defecto: admin/admin
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¶
- Acceder a https://sonar.seekdev.com
- Iniciar sesión con las credenciales por defecto
- Cambiar la contraseña del usuario admin
- Configurar proyectos y reglas de calidad
- 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