¡Esta es una revisión vieja del documento!
Fábrica - Análisis de Código Fuente
Esta sección esta dedicada a la definición del proceso de análisis de código fuente que se debe implementar en los proyectos de las aplicaciones de la compañía. Para realizar este proceso se ha elegido la tecnologiá Sonar la cual se divide en los siguientes componentes:
Procesos Previos
Antes de realizar un analisis de código fuente centralizado deben realizarse los siguientes procesos.
Solicitud de creación de proyecto SonarQube
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 adminsitrador 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.
Comando de ejecución del proyecto SonarQube
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:
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
El administrador responderá el correo con este comando el cuál deberá utilizarse al momento de lanzar un análisis centralizado.
Integrar SonarQube/SonarLint en los proyectos de la fábrica
Consideraciones previas
Nota
La configuración de la integración SonarQube/SonarLint se realizará en entorno window 10 con maven 3.x
Configuración Global del repositorio
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:
Sección pluginGroups
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>
Nota
Si existen más plugins registrado agregue la linea <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> antes del final de la sección </pluginGroups>
Sección profiles
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 archivo3) y con eso ya estará configurado el maven para lanzar análisis en el servidor SonarQube.
Instalar SonarLint en el IDE
Se asume que el usuario tiene el IDE Eclipse o Spring Tools Suite. Para instalar el SonarLint siga los siguientes pasos:
Abrir el IDE
Seleccionar el workspace del proyecto que se analizará
Ir al menu Help→Eclipse MarketPlace
Ingresar en el campo Find el texto sonarlint, aparece en el listado una final con el nombre SonarLint 7.1 o posterior
Click en el boton Install
Conectar SonarLint con el Servidor SonarQube: Primera Vez, se crea la conexión
Para conectar el SonarLint con el Servidor SonarQube siga los siguientes pasos:
Abrir el IDE
Seleccionar el workspace del proyecto que se analizará
Click derecho sobre la raíz del proyecto que se analizará.
Seleccionar en el menu SonarLint la opción Bind to SonarQube or SonarCloud
Se pide que se cree una nueva conexión. Seleccionamos SonarQube y click en el boton Siguiente.
En el siguiente panel ingrese la
URL del servidor SOnarQube la cual es:
http://10.1.40.171:9000 y click en el boton
Siguiente.
En el siguiente panel seleccione la opción Token y click en el boton Siguiente.
En el siguiente panel ingrese el token que será utilizado en el análisis y click en el boton Siguiente. Esta información debe ser suministrada por el líder del equipo. No genere un nuevo token ya que ese analisis no será considerado en la linea base del proyecto.
Por último el proceso hace un test de la conexión y si todo es correcto pasa al panel donde se configura el nombre de la conexión se recomienda dar el siguiente nombre SonarQubeServer ya que esa será la conexión que se utilizará en los posteriores análisis, click en el boton Siguiente.
En el siguiente panel active las noticiones del servidor y click en el boton Siguiente y con eso se finaliza la configuración de la conexión.
En el siguiente paso, se selecciona el proyecto al cual se le realizará el análisis, click en el boton Siguiente.
Al llegar a este paso previamente debe existir el proyecto en el servidor SonarQube, de esta forma el sistema automaticamente lo seleeciona y con eso se finaliza el proceso de configuración.
Conectar SonarLint con el Servidor SonarQube: Conexión previa
Para conectar el SonarLint con el Servidor SonarQube siga los siguientes pasos:
Abrir el IDE
Seleccionar el workspace del proyecto que se analizará
Click derecho sobre la raíz del proyecto que se analizará.
Seleccionar en el menu SonarLint la opción Bind to SonarQube or SonarCloud
Seleccione la conexión existente SonarQubeServer creada la primera vez y click en el boton Siguiente.
En el siguiente paso, se selecciona el proyecto en el servidor SonarQube al cual se le realizará el análisis debe existir el proyecto. sino existe se debe solicitar al administrador.
Por último click en Fnalizar para terminar la conexión del proyecto local al proyecto del SonarQube.
Lanzar un análisis de código fuente local
Para lanzar un analisis local del SonarLint siga los siguientes pasos:
Abrir el IDE
Seleccionar el workspace del proyecto que se analizará
Click derecho sobre la raíz del proyecto que se analizará.
Seleccionar en el menu SonarLint la opción Analize para analizar todo el proyecto o Analize changed files para analizar sólo los archivos modificados.
Dar click en Aceptar o Ok y el SonarLint iniciará el análisis local.
Al finalizar se visulizar una pestaña SonarLint Report en la zona inferior del IDE con los resultados.
Lanzar un análisis de código fuente centralizado
Antes de lanzar un análisis de código fuente centralizado debe solicitar el comando de configuración del proyecto SonarQube este comando debe ser solicitado al lider de equipo de desarrollo y este lo obtendrá del administrador al momento de solicitar la creación de un nuevo proyecto de análisis de código fuente.
Abrir el IDE
Seleccionar el workspace del proyecto que se analizará
Click derecho sobre la raíz del proyecto que se analizará.
Seleccionar en el menu Run As… la opción Maven Build… para desplegar la ventana de configuración de lanzamiento del proyecto.
-
Si todo ha sio registrado correctamente se inicial el analisis centralizado del código fuente del proyecto. Al finalizar el analisis será carga en el servidor y podrá ser consultado.
Recomendaciones