Consideraciones para migrar a SonarCloud — 3

Carlos Acevedo
BLOG DE TECNOLOGÍA DE DEVCO
3 min readApr 8, 2021
Tomado de https://sonarcloud.io/

Hace unos meses he participado en varios proyecto de migración de SonarQube a SonarCloud y quisiera compartir algunas consideraciones que identificamos para realizar la migración con éxito.

Este articulo hace parte de una serie de artículos y podrás tener todas las consideraciones al leerlos todos.

El primer análisis es diferente

En SonarQube estábamos acostumbrados a que el primer análisis podría realizarse desde nuestro sistema de CI/CD sin ningún inconveniente, sin embargo, en SonarCloud se ha incluido un concepto que sin ser nuevo se hace necesario: “Continuous Code Quality by Automatic analysis”, la idea principal es que con la mayoría de proveedores de repositorios de código fuente como servicio (GitHub, Bitbucket Cloud, Azure DevOps y GitLab), podamos realizar el análisis automáticamente cuando el repositorio sufra cambios, permitiendo que no dependamos de un proceso basado en CI/CD para realizar el análisis de código estático de nuestros productos de software.

Cuando intentamos realizar el primer análisis de nuestro producto para una rama diferente a una principal y sin haber realizado el primer análisis desde SonarCloud, obtendremos errores que con SonarCloud no suelen ocurrir y tendremos que crear el proyecto en SonarCloud manualmente y realizar el primer análisis.

Los pasos para realizar la creación del proyecto y su respectivo primer análisis con GitHub, se describen este Link.

Ten en cuenta que cuando sincronices la cuenta de tu proveedor de repositorios y SonarCloud, podrás seleccionar los proyectos que deseas analizar ahora podrás analizarlos.

Una vez creado el proyecto pueden pasar 2 cosas:

  • Que te permita realizar tu primer análisis automáticamente porque es un lenguaje soportado.
  • Que no te recomiende realizar un análisis automático para el proyecto, caso en el que deberás usar una Herramienta de CI/CD o el Scanner.

Para ambos casos asegúrate de que siempre se analice la primer vez la rama principal del proyecto (master/main), para que el resto de funciones que se explicaran en otros apartados te funcionen correctamente (ej: Análisis por branches).

Ten en cuenta que la segunda opción también te la pueden recomendar cuando tienes un archivo sonar-project.properties, ten esto presente si quieres migrarte con las mismas condiciones, para este caso será necesario la creación del proyecto y luego realizar el primer análisis usando CI/CD o el Scanner.

Conclusiones

Ten en cuenta que la gran diferencia de la que hablamos en este caso es que necesitamos crear el proyecto inicialmente en SonarCloud para que el análisis se ejecute correctamente, de lo contrario tendremos algunos errores; esto no era necesario en SonarQube y los Scanner podían crear los proyectos.

Debes realizar el primer análisis del proyecto conectado a la rama principal del proyecto, esto evitará que funcionalidades como el análisis de PRs o de branches te funcionen incorrectamente.

Ten presente que en muchos repositorios se está optando por cambiar el master por main, como rama principal, si adoptas este cambio tendrás que cambiar la rama principal dentro de SonarCloud para evitar problemas con el entendimiento de tu código.

--

--