
Una Bitbucket Pipe para activar el análisis de SonarCloud
Analiza tu código con SonarQube Cloud para detectar errores, vulnerabilidades y code smells en más de 25 lenguajes de programación.
Tu cuenta de SonarCloud debe estar asociada primero a tu equipo o cuenta de usuario de Bitbucket. SonarQube Cloud es totalmente gratuito para proyectos de código abierto. Si tu código es de código cerrado, SonarQube Cloud también ofrece un plan de pago para ejecutar análisis privados.
NOTA: Para proyectos que usan Maven o Gradle, ejecuta el escáner correspondiente directamente en lugar de usar esta pipe (consulta ejemplos).
Añade el siguiente fragmento a la sección de script de tu archivo bitbucket-pipelines.yml:
- pipe: sonarsource/sonarcloud-scan:4.1.0
# variables:
# SONAR_TOKEN: '<string>' # Optional
# EXTRA_ARGS: '<array of strings>' # Optional
# SONAR_SCANNER_JAVA_OPTS: '<string>' # Optional
# DEBUG: '<boolean>' # Optional
| Variable | Uso |
|---|---|
| SONAR_TOKEN (*) | Token de SonarQube Cloud. Se recomienda usar una variable segura de repositorio o de cuenta. Y en ese caso no es necesario especificar esta variable en el archivo bitbucket-pipelines.yml. |
| EXTRA_ARGS | Parámetros adicionales de análisis (consulta la documentación) |
| SONAR_SCANNER_JAVA_OPTS | Opciones JVM del escáner (p. ej. "-Xmx256m") |
| DEBUG | Activa información de depuración adicional. Por defecto: false. |
(*) = variable obligatoria.
Esta pipe encapsula la ejecución del analizador de código de SonarQube Cloud para detectar errores, vulnerabilidades y code smells. SonarQube Cloud puede entonces decorar tus Pull Requests e informar con información sobre la calidad del código. Guía de inicio disponible aquí: Empieza con Bitbucket Cloud.
Para usar esta pipe, tienes que configurar un proyecto en SonarQube Cloud y luego usar el token generado en una variable segura llamada SONAR_TOKEN en tu repositorio o en tu cuenta de Bitbucket de equipo o personal.
Ejemplo básico:
- pipe: sonarsource/sonarcloud-scan:4.1.0
Un ejemplo un poco más avanzado:
- pipe: sonarsource/sonarcloud-scan:4.1.0
variables:
EXTRA_ARGS: ['-Dsonar.projectDescription="Project with sonarcloud-scan pipe"', '-Dsonar.eslint.reportPaths=report.json']
SONAR_SCANNER_JAVA_OPTS: "-Xmx512m"
DEBUG: "true"
Este ejemplo utiliza una descripción personalizada del proyecto en SonarQube Cloud, lee el informe generado por eslint, establece la memoria máxima en 512 MB y habilita la salida detallada.
Si deseas ayuda con esta pipe, o tienes un problema o solicitud de funcionalidad, háznoslo saber en nuestro foro de la comunidad.
Si vas a informar de un problema, incluye: