SonarQube (conocido anteriormente como Sonar) es una herramienta open source para evaluar la calidad del código fuente. Utiliza herramientas de análisis estático de código fuente para obtener métricas de calidad del código.

Estas son algunas de las características de SonarQube que hacen que sea una de las soluciones de evaluación de calidad del software más utilizadas:

Es open source aunque también se puede optar por ediciones comerciales que incluyen soporte dedicado.

Analizadores de más de 27 lenguajes de programación entre los que se incluyen Java, JavaScript, Python, PHP, C/C++, C# o VB.NET , GO y Swift .

Es fácil de integrar dentro de la cadena de herramientas de DevOps. Esto incluye los sistemas de compilación como Maven, Gradle o Ant y los motores de integración continua como Jenkins, Bamboo, Travis CI o Visual Studio Team Foundation Server.

Es una herramienta de revisión automática de código para detectar errores, vulnerabilidades y olores de código en su código. Puede integrarse con su flujo de trabajo existente para permitir la inspección continua del código en las ramas de su proyecto y solicitudes de extracción.

Si desea probar SonarQube, consulte la página Probar SonarQube para obtener instrucciones sobre cómo instalar una instancia local y analizar un proyecto.


Si está listo para configurar una instancia de producción, consulte la documentación de Instalar el servidor .


De lo contrario, también puede encontrar una descripción general y escenarios comunes a continuación o navegar y buscar la documentación completa en el panel izquierdo



En un proceso de desarrollo típico:

  1. Los desarrolladores desarrollan y fusionan código en un IDE (preferiblemente utilizando SonarLint para recibir comentarios inmediatos en el editor) y registran su código en su ALM.
  2. La herramienta de integración continua (CI) de una organización comprueba, crea y ejecuta pruebas unitarias, y un escáner SonarQube integrado analiza los resultados.
  3. El escáner publica los resultados en el servidor de SonarQube, que proporciona comentarios a los desarrolladores a través de la interfaz de SonarQube, correo electrónico, notificaciones en IDE (a través de SonarLint) y decoración en solicitudes de extracción o fusión (cuando se usa Developer Edition y superior).

Instalación, monitoreo y actualización

Consulte las páginas de instalación y actualización para configurar su instancia de producción.

Cuando su instancia esté en funcionamiento, consulte la documentación de Supervisión para obtener información sobre cómo mantener su instancia funcionando sin problemas.

Si está utilizando SonarQube Data Center Edition, consulte la documentación Configurar y operar un clúster para obtener más información sobre cómo ejecutar su instancia como un clúster.

Configurar análisis

El análisis de su código comienza con la instalación y configuración de un escáner SonarQube. El escáner puede ejecutarse en su compilación o como parte de su canalización de integración continua (CI) realizando un escaneo cada vez que se activa su proceso de compilación. Para obtener más información, consulte Análisis de código fuente .

Analizando ramas

A partir de Developer Edition , puede analizar sus sucursales en SonarQube y asegurarse de que la calidad de su código sea constante hasta el nivel de sucursal en sus proyectos. Para obtener más información, consulte Análisis de ramas .

Analizar solicitudes de extracción

A partir de Developer Edition , puede integrar SonarQube para que sea parte de su proceso de solicitud de extracción o fusión. Emitir una solicitud de extracción puede activar un análisis de rama y agregar decoración de solicitud de extracción para ver el análisis de su rama directamente en la interfaz de su ALM además de la interfaz de SonarQube. Para obtener más información, consulte Descripción general del análisis de solicitudes de extracción y Decoración de solicitudes de extracción .

Escribir código limpio y seguro

SonarQube le brinda las herramientas que necesita para escribir código limpio y seguro:

  • SonarLint : SonarLint es un producto complementario que funciona en su editor y le brinda retroalimentación inmediata para que pueda detectar y solucionar problemas antes de que lleguen al repositorio.
  • Quality Gate : Quality Gate le permite saber si su proyecto está listo para la producción.
  • Clean as You Code - Clean as You Code es un enfoque de la calidad del código que elimina muchos de los desafíos que conllevan los enfoques tradicionales. Como desarrollador, usted se enfoca en mantener altos estándares y asumir la responsabilidad específicamente en el Nuevo Código en el que está trabajando.
  • Problemas : SonarQube plantea problemas cada vez que una parte de su código rompe una regla de codificación, ya sea un error que romperá su código (error), un punto en su código abierto al ataque (vulnerabilidad) o un problema de mantenimiento (olor de código).
  • Puntos de acceso de seguridad: SonarQube destaca las piezas de código sensibles a la seguridad que deben revisarse. Tras la revisión, encontrará que no existe ninguna amenaza o debe aplicar una solución para proteger el código.

Administrar un proyecto

Si tiene el permiso Crear proyectos (un administrador global puede establecer permisos en Administración> Seguridad> Permisos globales ), puede crear y administrar proyectos. Consulte Configuración del proyecto para obtener información general sobre la configuración de proyectos.

Un proyecto se agrega automáticamente en el primer análisis. Sin embargo, puede aprovisionar proyectos (configurar permisos, perfiles de calidad, etc.) antes de ejecutar el primer análisis. Consulte Existencia del proyecto para obtener más información sobre el aprovisionamiento de un proyecto y el manejo de proyectos aprovisionados.

También desea asegurarse de que los resultados de SonarQube sean relevantes. Para hacer esto, necesita estrechar el foco o configurar qué analizar para cada proyecto.

También puede configurar Webhooks para notificar a los servicios externos cuando se completa el análisis de un proyecto.

Administrar una instancia

Si es un administrador global, puede configurar la autenticación, el acceso de administrador y la autorización. Consulte Seguridad para obtener más información.

También puede configurar notificaciones por correo electrónico a las que los desarrolladores pueden suscribirse y que se envían al final de cada análisis.

Cuando ejecuta nuevos análisis en sus proyectos, algunos datos se eliminan de la base de datos para ahorrar espacio y mejorar el rendimiento. Consulte Mantenimiento para obtener información sobre qué datos se limpian y cómo cambiar estos ajustes.

A partir de Enterprise Edition , puede configurar carteras para obtener una descripción general de alto nivel sobre la capacidad de publicación de un grupo de proyectos.


referencias