
El lanzamiento de PVS-Studio 7.04 coincidió con el lanzamiento del complemento Advertencias Next Generation 6.0.0 para Jenkins. Solo en esta versión, el complemento Advertencias NG agregó soporte para el analizador estático PVS-Studio. Este complemento visualiza datos de advertencia del compilador u otras herramientas de análisis en Jenkins. Este artículo describirá en detalle cómo instalar y configurar este complemento para usarlo con PVS-Studio, y también describirá la mayoría de sus capacidades.
Instalación del complemento Advertencia de próxima generación en Jenkins
Por defecto, Jenkins se encuentra en . En la página principal de Jenkins, en la parte superior izquierda, seleccione "Administrar Jenkins":

A continuación, seleccione el elemento "Administrar complementos", abra la pestaña "Disponible":

En la esquina superior derecha del campo de filtro, ingrese "Advertencias de próxima generación":

Busque el complemento en la lista, marque la casilla de la izquierda y haga clic en "Instalar sin reiniciar":

Se abrirá la página de instalación del complemento. Aquí veremos los resultados de la instalación del complemento:

Creando una nueva tarea en Jenkins
Ahora creemos una tarea con una configuración libre. En la página principal de Jenkins, seleccione "Nuevo elemento". Ingrese el nombre del proyecto (por ejemplo, WTM) y seleccione el elemento "Proyecto de estilo libre".

Haga clic en "Aceptar", después de lo cual se abrirá la página de configuración de la tarea. En la parte inferior de esta página, en el elemento "Acciones posteriores a la compilación", abra la lista "Agregar acción posterior a la compilación". En la lista, seleccione "Registrar advertencias del compilador y resultados del análisis estático":

En la lista desplegable del campo "Herramienta", seleccione "PVS-Studio" y luego haga clic en el botón Guardar. En la página de la tarea, haga clic en "Construir ahora" para crear una carpeta en el espacio de trabajo en Jenkins para nuestra tarea:

Obtener resultados de construcción del proyecto
Hoy me encontré con el proyecto dotnetcore/WTM en las tendencias de Github. Lo descargué de Github, lo puse en el directorio de compilación WTM en Jenkins y lo analicé en Visual Studio usando el analizador PVS-Studio. En el artículo del mismo nombre se presenta una descripción detallada del uso de PVS-Studio en Visual Studio: .
Ejecuté la compilación del proyecto en Jenkins un par de veces. Como resultado, apareció un gráfico en la parte superior derecha de la página de tareas de WTM en Jenkins y apareció un elemento de menú a la izquierda. Advertencias de PVS-Studio:

Al hacer clic en el gráfico o en este elemento del menú, se abre una página con la visualización del informe del analizador PVS-Studio utilizando el complemento Advertencias de próxima generación:

Página de resultados
Hay dos gráficos circulares en la parte superior de la página. A la derecha de los gráficos está la ventana del gráfico. A continuación se muestra una tabla.

El gráfico circular de la izquierda muestra la proporción de advertencias de diferentes niveles de gravedad, el de la derecha muestra la proporción de advertencias nuevas, no corregidas y corregidas. Hay tres gráficos. El gráfico mostrado se selecciona usando las flechas de la izquierda y la derecha. Los dos primeros gráficos muestran la misma información que los gráficos y el tercero muestra el cambio en el número de alertas.

Puede seleccionar asambleas o días como puntos del gráfico.
También es posible reducir y ampliar el rango de tiempo del gráfico para ver datos de un período determinado:

Puede ocultar gráficos de determinadas métricas haciendo clic en la designación de la métrica en la leyenda del gráfico:

Gráfico después de ocultar la métrica "Normal":

A continuación se muestra una tabla que muestra los datos del informe del analizador. Cuando haces clic en un sector de un gráfico circular, la tabla se filtra:

La tabla tiene varias pestañas para filtrar datos. En este ejemplo, está disponible el filtrado por espacio de nombres, archivo, categoría (nombre de alerta). En la tabla puede seleccionar cuántas advertencias mostrar en una página (10, 25, 50, 100):

Es posible filtrar datos por la cadena ingresada en el campo “Buscar”. Ejemplo de filtrado por palabra “Base”:

En la pestaña "Problemas", al hacer clic en el signo más al principio de la fila de la tabla, se mostrará una breve descripción de la advertencia:

La breve descripción contiene un enlace a un sitio web con información detallada sobre esta advertencia.
Cuando hace clic en los valores de las columnas "Paquete", "Categoría", "Tipo", "Severidad", los datos de la tabla se filtran por el valor seleccionado. Filtrar por categoría:

La columna "Edad" muestra cuántas compilaciones sobrevivieron a esta advertencia. Al hacer clic en el valor de la columna Edad se abrirá la página de compilación donde apareció esta advertencia por primera vez.
Al hacer clic en un valor en la columna "Archivo" se abrirá el código fuente del archivo en la línea con el código que provocó la advertencia. Si el archivo no está en el directorio de compilación o se movió después de crear el informe, no será posible abrir el código fuente del archivo.

Conclusión
Advertencias de próxima generación resultó ser una herramienta de visualización de datos muy útil en Jenkins. Esperamos que el soporte para PVS-Studio mediante este complemento sea de gran ayuda para quienes ya usan PVS-Studio y también atraiga la atención de otros usuarios de Jenkins sobre el análisis estático. Y si su elección recae en PVS-Studio como analizador estático, estaremos muy contentos. Te invitamos nuestra herramienta.
Si desea compartir este artículo con una audiencia de habla inglesa, utilice el enlace de traducción: Valery Komarov. .
Fuente: habr.com
