SonarQube® 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.1)
Antes de realizar un analisis de código fuente centralizado deben realizarse los siguientes procesos.
Es el usuario con el cuál se generarán los análisis de código de fuente de los proyectos. Este usuario es generado por equipo de desarrollo los cuales se listan a continuación:
Cada usuario es representado por un hash (token) el cuál es identificado como login al momento de ejecutar Comandos de ejecución de proyectos SonarQube
Nota:El hash generado por cada usuario debe utilizarse sólo con los proyectos bajo la gestión del equipo. Si se pierde el hash se debe solicitar al adminsitrador uno nuevo.
Este es el proceso inicial que se debe realizar para implementar el análisis de código fuente centralizado y consiste en la creación del proyecto en el servidor SonarQube. Esta solicitud la debe realizar el lider de equipo al administrador del servidor SonarQube. Solo basta con enviar un correo donde se indique el nombre del proyecto el cual debe ser el mismo del proyecto de código fuente respetando mayusculas y minusculas. El administrador responderá con el Comando de ejecución del proyecto SonarQube el cual debera ser utilizado para los procesos de analsis.
Es el comando que se genera al crear un proyecto de análisis de código fuente en el servidor SonarQube la estrucutra del comando es la siguiente según la tecnología y lenguaje de desarrollo y será entregada al equipo de desarrollo por medio del administrador:
mvn sonar:sonar \ -Dsonar.projectKey=[Nombre del Proyecto] \ -Dsonar.host.url=[IP y Puerto del Servidor SonarQube] \ -Dsonar.login=[Token asociado al proyecto SonarQube]
Ejemplo:
mvn sonar:sonar \ -Dsonar.projectKey=MiProyecto \ -Dsonar.host.url=http://10.1.40.171:9000 \ -Dsonar.login=1234567890123456789012345678901234567890
Instale el plugin en las dependencias
plugins { id "org.sonarqube" version "3.0" }
Ejecute el comando
./gradlew sonarqube \ -Dsonar.projectKey=MiProyecto \ -Dsonar.host.url=http://10.1.40.171:9000 \ -Dsonar.login=1234567890123456789012345678901234567890
Scanner .NET Core Global Tool
#As a prerequisite you need to have the sonarscanner tool installed globally using the following command: dotnet tool install --global dotnet-sonarscanner #Make sure dotnet tools folder is in your path. See dotnet global tools documentation for more information.
Execute the Scanner from your computer
#Running a SonarQube analysis is straighforward. You just need to execute the following commands at the root of your solution. dotnet sonarscanner begin /k:"MiProyecto" /d:sonar.host.url="http://10.1.40.171:9000" /d:sonar.login="1234567890123456789012345678901234567890" dotnet build dotnet sonarscanner end /d:sonar.login="1234567890123456789012345678901234567890"
Download and unzip the Scanner for .NET and add the executable's directory to the %PATH% environment variable Execute the Scanner from your computer
#Running a SonarQube analysis is straighforward. You just need to execute the following commands at the root of your solution. SonarScanner.MSBuild.exe begin /k:"MiProyecto" /d:sonar.host.url="http://10.1.40.171:9000" /d:sonar.login="1234567890123456789012345678901234567890" MsBuild.exe /t:Rebuild SonarScanner.MSBuild.exe end /d:sonar.login="1234567890123456789012345678901234567890"
El administrador o responsable de crear el proyecto responderá el correo con este comando el cuál deberá utilizarse al momento de lanzar un análisis centralizado.
La configuración de la integración SonarQube/SonarLint se realizará en entorno window 10 con maven 3.x
Lo primero que se debe hacer es ir a las configuraciones globales del gestor de dependencias en el usuario en sesión del sistema operativo. En el caso de window esta ruta por lo general se encuentra en C:\Users\Usuario\.m2\wrapper\dists\apache-maven[Versión Maven instalada]\[directorio hash del empequetado]\apache-maven-[Versión maven instalada]\conf\settings.xml. El archivo que debemos ubicar es el archivo settings.xml y en el debemos realziar la siguiente configuración:
Ubique la sección pluginGroups y copie el siguiente texto como se muestra en el siguiente código de ejemplo
<pluginGroups> <!-- pluginGroup | Specifies a further group identifier to use for plugin lookup. <pluginGroup>com.your.plugins</pluginGroup> --> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups>
Si existen más plugins registrado agregue la linea <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> antes del final de la sección </pluginGroups>
Ubique la sección profiles y al final copie el siguiente perfil como se muestra en el siguiente código de ejemplo
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> http://10.1.40.171:9000 </sonar.host.url> </properties> </profile>
Para finalizar guarde el archivo4) y con eso ya estará configurado el maven para lanzar análisis en el servidor SonarQube.