Implementar directivas de inserción en el repositorio de análisis de código personalizadas para el código administrado

Una directiva de inserción en el repositorio de análisis de código especifica un conjunto de reglas que los miembros de un proyecto de Azure DevOps deben ejecutarse en el código fuente antes de que insertar en el repositorio del control de versiones. Microsoft proporciona un conjunto de conjuntos de reglas estándar que agrupan las reglas de análisis de código en áreas funcionales. Los conjuntos de reglas de directiva de inserción en el repositorio personalizados especifican un conjunto de reglas de análisis de código que son específicas de un proyecto. Un conjunto de reglas se almacena en un archivo .ruleset.

Las directivas de protección se establecen en el nivel de proyecto de Azure DevOps y se especifican mediante la ubicación de un archivo .ruleset en el árbol de control de versiones. No hay restricciones en la ubicación del control de versiones del conjunto de reglas personalizado de directiva de equipo.

El análisis de código se configura para los proyectos de código individuales en la ventana de propiedades de cada proyecto. La ubicación física del archivo .ruleset del equipo local especifica un conjunto de reglas personalizado para un proyecto de código. Cuando se especifica un archivo .ruleset que se encuentra en la misma unidad que el proyecto de código, Visual Studio usa una ruta de acceso relativa al archivo en la configuración del proyecto.

Una práctica sugerida para crear un conjunto de reglas personalizado de proyecto de Azure DevOps es almacenar el archivo .ruleset de directiva de protección en una carpeta especial que no forma parte de ningún proyecto de código. Si almacena el archivo en una carpeta dedicada, puede aplicar permisos que restrinjan quién puede editar el archivo de reglas y puede mover fácilmente la estructura de directorios que contiene el proyecto a otro directorio o equipo.

Creación del conjunto de reglas de entrada personalizado del proyecto

Para crear un conjunto de reglas personalizado para un proyecto de Azure DevOps, primero debe crear una carpeta especial para el conjunto de reglas de directiva de protección en el Explorador de control de código fuente. A continuación, cree el archivo del conjunto de reglas y agregue el archivo al control de versiones. Por último, especifique el conjunto de reglas como directiva de inserción en el repositorio de análisis de código para el proyecto.

Nota

Para crear una carpeta en un proyecto de Azure DevOps, primero debe asignar la raíz del proyecto a una ubicación en el equipo local.

Para crear la carpeta de control de versiones para el conjunto de reglas de directiva de protección

  1. En Team Explorer, expanda el nodo del proyecto y, a continuación, haga clic en Control de código fuente.

  2. En el panel Carpetas, haga clic con el botón derecho en el proyecto y, a continuación, haga clic en Nueva carpeta.

  3. En el panel principal Control de código fuente, haga clic con el botón derecho en Nueva carpeta, haga clic en Cambiar nombre y escriba un nombre para la carpeta del conjunto de reglas.

Para crear el conjunto de reglas de directiva de inserción en el repositorio

  1. En el menú Archivo , elija Nuevoy haga clic en Archivo.

  2. En la lista Categorías, haga clic en General.

  3. En la lista Plantillas, haga doble clic en Conjunto de reglas de Code Analysis.

  4. Especifique las reglas que se van a incluir en el conjunto de reglas y guarde el archivo del conjunto de reglas en la carpeta del conjunto de reglas que ha creado.

Para agregar el archivo del conjunto de reglas al control de versiones

  1. En el Explorador de control de código fuente, haga clic con el botón derecho en la nueva carpeta y, a continuación, haga clic en Agregar elementos a carpeta.

    Para más información, consulte Git y Azure Repos.

  2. Haga clic en el archivo de conjunto de reglas que ha creado y, a continuación, haga clic en Finalizar.

    El archivo se agrega al control de código fuente y extrajo del repositorio.

  3. En la ventana de detalles del Explorador de control de código fuente, haga clic con el botón derecho en el nombre del archivo y, a continuación, haga clic en Comprobar cambios pendientes.

  4. En el cuadro de diálogo Insertar en el repositorio, tiene la opción de agregar un comentario y, a continuación, haga clic en Insertar en el repositorio.

    Nota

    Si ya ha configurado una directiva de inserción en el repositorio de análisis de código para el proyecto de Azure DevOps y ha seleccionado la opción Aplicar protección para que solo contenga archivos que formen parte de la solución actual, desencadenará una advertencia de error de directiva. En el cuadro de diálogo Error de directiva, seleccione Invalidar el error de la directiva y continuar la inserción en el repositorio. Agregue un comentario necesario y, a continuación, haga clic en Aceptar.

Para especificar el archivo del conjunto de reglas como directiva de inserción en el repositorio

  1. En el menú Equipo, seleccione Configuración del proyecto y, a continuación, haga clic en Control de código fuente.

  2. Haga clic en Directiva de inserción en el repositorio y, a continuación, haga clic en Agregar.

  3. En la lista Directiva de inserción en el repositorio, haga doble clic en Code Analysis y asegúrese de que la casilla Exigir análisis de código para código administrado esté activada.

  4. En la lista Ejecutar este conjunto de reglas, haga clic en <Seleccionar conjunto de reglas en el control de código fuente>.

  5. Escriba la ruta de acceso del archivo de conjunto de reglas de directiva de inserción en el repositorio en el control de versiones.

    La ruta de acceso debe tener el formato siguiente:

    $/ TeamProjectName / VersionControlPath

    Nota

    Puede copiar la ruta de acceso mediante uno de los procedimientos siguientes en el Explorador de control de código fuente:

    • En el panel Carpetas, haga clic en la carpeta que contiene el archivo del conjunto de reglas. Copie la ruta de acceso del control de versiones de la carpeta que aparece en el cuadro Origen y escriba el nombre del archivo del conjunto de reglas manualmente.

    • En la ventana de detalles, haga clic con el botón derecho en el archivo del conjunto de reglas y, a continuación, haga clic en Propiedades. En la pestaña General, copie el valor en Nombre del servidor.

Sincronización de proyectos de código con el conjunto de reglas de directiva de inserción en el repositorio

Especifique un conjunto de reglas de la directiva de inserción en el repositorio de proyecto como conjunto de reglas de análisis de código de una configuración de proyecto de código en el cuadro de diálogo Propiedades del proyecto de código. Si el conjunto de reglas se encuentra en la misma unidad que el proyecto de código, se usa una ruta de acceso relativa para especificar el conjunto de reglas cuando se selecciona la ruta de acceso del cuadro de diálogo de archivo. La ruta de acceso relativa permite que la configuración de las propiedades del proyecto sea portátil para otros equipos que usan estructuras de control de versiones locales similares.

Para especificar un conjunto de reglas de proyecto como conjunto de reglas de un proyecto de código

  1. Si es necesario, recupere la carpeta del conjunto de reglas de directiva de protección y el archivo del control de versiones.

    Para realizar este paso en el Explorador de control de código fuente, haga clic con el botón derecho en la carpeta del conjunto de reglas y, a continuación, haga clic en Obtener la última versión.

  2. En el Explorador de soluciones, haga clic con el botón secundario en el proyecto y, a continuación, haga clic en Propiedades.

  3. Haga clic en Análisis de código.

  4. Si es necesario, haga clic en las opciones adecuadas en las listas Configuración y Plataforma.

  5. Para ejecutar el análisis de código cada vez que el proyecto de código se compila con la configuración especificada, seleccione Ejecutar en la compilación de la sección Analizadores binarios.

  6. En la lista Ejecutar este conjunto de reglas, haga clic en <Examinar>.

  7. Seleccione la versión local del archivo de conjunto de reglas de la directiva de inserción en el repositorio.