Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:howto:sicoferp:factory:sourcecodeanalyzer [2021/11/16 18:09] administraidor |
ada:howto:sicoferp:factory:sourcecodeanalyzer [2023/11/06 18:54] (actual) 192.168.177.82 [Reportes] |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Fábrica - Análisis de Código Fuente ====== | ====== 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: | + | Esta sección está 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 tecnología Sonar la cual se divide en los siguientes componentes: |
- | ===== SonarQube ===== | + | * [[ada:howto:sicoferp:factory:sourcecodeanalyzer:sonarqube|SonarQube®]] |
- | 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.((https://docs.sonarqube.org/latest/)) | + | * [[ada:howto:sicoferp:factory:sourcecodeanalyzer:sonarlint|SonarLint®]] |
- | ===== SonarLint ===== | + | ===== Reportes ===== |
- | SonarLint® es una extensión IDE gratuita y de código abierto que identifica y le ayuda a solucionar problemas de calidad y seguridad mientras codifica. Como un corrector ortográfico, SonarLint garabatea fallas y proporciona comentarios en tiempo real y una guía clara de corrección para entregar un código limpio desde el principio.((https://www.sonarlint.org/)) | + | |
- | ===== Integrar SonarQube/SonarLint en los proyectos de la fábrica ===== | + | * [[ada:howto:sicoferp:factory:sourcecodeanalyzer:reportanalyze|Análisis realizados]] |
+ | * [[ada:howto:sicoferp:factory:sourcecodeanalyzer:userscreation|Crear usuarios]] | ||
+ | * [[ada:howto:sicoferp:factory:sourcecodeanalyzer:proyectscreation|Crear proyectos]] | ||
+ | * [[ada:howto:sicoferp:factory:sourcecodeanalysis:Performanalyzer|Realizar análisis]] | ||
- | ==== Consideraciones previas ==== | + | [[ada:howto:sicoferp:factory|←Volver atrás]] |
- | * En el alcance inicial solo se soporta el lenguaje java | + | [[ada:howto:sicoferp:factory:goodsoftwaredevelopmentpractices|-> Ir a Buenas prácticas de desarrollo de software]] |
- | * Solo se soportan los gestores de dependencias Maven((https://maven.apache.org/)), Gradle((https://gradle.org/)) | + | |
- | * Antes de subir un análisis al servidor SonarQube debe existir el proyecto. Este debe ser solicitado al administrador carlos.torres. | + | |
- | + | ||
- | === 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 | + | |
- | + | ||
- | <code xml> | + | |
- | <pluginGroups> | + | |
- | <!-- pluginGroup | + | |
- | | Specifies a further group identifier to use for plugin lookup. | + | |
- | <pluginGroup>com.your.plugins</pluginGroup> | + | |
- | --> | + | |
- | <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> | + | |
- | </pluginGroups> | + | |
- | </code> | + | |
- | + | ||
- | == 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 | + | |
- | + | ||
- | <code xml> | + | |
- | <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> | + | |
- | </code> | + | |
- | + | ||
- | Para finalizar guarde el archivo((En algunas configuraciones solicitará usuario administrador)) 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 laznar 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. | + | |
- | - Ingresar el comando de configuración del proyecto en el campo Goals. Es cual es similar al siguiente: clean verify sonar:sonar -Dsonar.projectKey=[nombre del proyecto] -Dsonar.host.url=http://10.1.40.171:9000 -Dsonar.login=[token del equipo de desarrollo] | + | |
- | - 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. | + | |
- | + | ||
- | + | ||
- | [[ada:howto:sicoferp:factory|←Volver atras]] | + | |