Publicación de símbolos con Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Con Azure Pipelines, puede publicar los símbolos en el servidor de símbolos de Azure Artifacts mediante la tarea Indexar código fuente y publicar símbolos. Puede usar el depurador para conectarse y recuperar automáticamente los archivos de símbolos correctos sin conocer los nombres de producto, los números de compilación o los nombres de paquete. Con Azure Pipelines, también puede publicar los símbolos en recursos compartidos de archivos y archivos PDF portables.

Nota:

La tarea Indexar código fuente y publicar símbolos no se admite en canalizaciones de versión.

Publicación de símbolos en el servidor de símbolos de Azure Artifacts

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Canalizaciones, después la canalización y, luego, seleccione Editar para editarla.

  3. En la definición de la canalización, seleccione + para agregar una nueva tarea.

  4. Busque la tarea Indexar código fuente y publicar símbolos. Seleccione Agregar para agregarlo a la canalización.

  5. Rellene los campos obligatorios de la siguiente manera:

    • Versión de la tarea: 2.\*.

    • Nombre para mostrar: nombre para mostrar de la tarea.

    • Ruta de acceso a la carpeta de los símbolos: ruta de acceso a la carpeta que hospeda los archivos de símbolos.

    • Patrón de búsqueda: el patrón usado para buscar los archivos .pdb en la carpeta que ha especificado en Ruta de acceso a la carpeta de los símbolos. Se admiten el carácter comodín de carpeta única (*) y los caracteres comodín recursivos (**). Ejemplo: *\bin**.pdb: buscará todos los archivos .pdb dentro de todos los subdirectorios con el nombre bin.

    • Indexar orígenes: indica si se va a insertar información del servidor de origen en los archivos PDB.

    • Publicar símbolos: indica si se van a publicar los archivos de símbolos.

      • Tipo de servidor de símbolos: seleccione Servidor de símbolos en esta organización o colección (requiere Azure Artifacts) para publicar los símbolos en el servidor de símbolos de Azure Artifacts.
    • Registro detallado: para incluir más información en los registros.

Captura de pantalla en la que se muestra cómo configurar la tarea Indexar código fuente y publicar símbolos para publicar símbolos en el servidor de símbolos de Azure Artifacts.

Publicación de símbolos en un recurso compartido de archivos

Además del servidor de símbolos de Azure Artifacts, también puede publicar los símbolos en un recurso compartido de archivos mediante la tarea Indexar código fuente y publicar símbolos.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Canalizaciones, después la canalización y, luego, seleccione Editar para editarla.

  3. En la definición de la canalización, seleccione + para agregar una nueva tarea.

  4. Busque la tarea Indexar código fuente y publicar símbolos. Seleccione Agregar para agregarlo a la canalización.

  5. Rellene los campos obligatorios de la siguiente manera:

    • Versión de la tarea: 2.\*.

    • Nombre para mostrar: nombre para mostrar de la tarea.

    • Ruta de acceso a la carpeta de los símbolos: ruta de acceso a la carpeta que hospeda los archivos de símbolos.

    • Patrón de búsqueda: el patrón usado para buscar los archivos .pdb en la carpeta que ha especificado en Ruta de acceso a la carpeta de los símbolos.

    • Indexar orígenes: indica si se va a insertar información del servidor de origen en los archivos PDB.

    • Publicar símbolos: indica si se van a publicar los archivos de símbolos.

      • Tipo de servidor de símbolos: seleccione Recurso compartido de archivos para publicar los símbolos en un recurso compartido de archivos.
      • Ruta de acceso para publicar símbolos: el recurso compartido de archivos que hospedará los símbolos.
    • Registro detallado: marque esta casilla para incluir más información en los registros.

    Captura de pantalla en la que se muestra cómo configurar la tarea Indexar código fuente y publicar símbolos para publicar símbolos en un recurso compartido de archivos.

Publicación de archivos PDB portables en un servidor de símbolos de Azure Artifacts

Los archivos PDB portables son archivos de símbolos que se pueden crear y usar en todas las plataformas, a diferencia de los archivos PDB tradicionales que se usan solo en Windows. En los archivos PDB portables, la compilación realiza la indexación, pero todavía tiene que usar la tarea Indexar código fuente y publicar símbolos para publicar los símbolos.

Source Link es un conjunto de herramientas que permiten a los desarrolladores depurar su código fuente mediante la reasignación de los ensamblados de .NET al código fuente. Consulte el repositorio de GitHub dotnet/sourcelink para conocer los distintos paquetes incluidos.

  • En el caso de los proyectos hospedados en GitHub, agregue la referencia de paquete Microsoft.SourceLink.GitHub al archivo del proyecto.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • En el caso de los proyectos hospedados en Azure Repos (anteriormente Visual Studio Team Services), agregue la referencia de paquete Microsoft.SourceLink.AzureRepos.Git al archivo del proyecto.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • En el caso de los proyectos hospedados en Azure DevOps Server (anteriormente Team Foundation Server), agregue la referencia de paquete Microsoft.SourceLink.AzureDevOpsServer.Git al archivo del proyecto.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    

Configuración de la tarea de publicación

La tarea Indexar código fuente y publicar símbolos se usa para indexar el código fuente y publicar los símbolos en el servidor de símbolos de Azure Artifacts y en recursos compartidos de archivos. Como se usa Source Link, será necesario deshabilitar la indexación en la tarea de publicación.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Canalizaciones, después la canalización y, luego, seleccione Editar para editarla.

  3. En la definición de la canalización, seleccione + para agregar una nueva tarea.

  4. Busque la tarea Indexar código fuente y publicar símbolos. Seleccione Agregar para agregarlo a la canalización.

  5. Rellene los campos obligatorios y seleccione Servidor de símbolos para el Tipo de servidor de símbolos. Asegúrese de desactivar Orígenes de índice para deshabilitar la indexación.

    Captura de pantalla en la que se muestra cómo configurar la tarea de publicación para publicar PDB portables en el servidor de símbolos de Azure Artifacts.

Importante

Para eliminar símbolos publicados mediante la tarea Indexar código fuente y publicar símbolos, primero debe eliminar la compilación que los ha generado. Esto se puede lograr mediante directivas de retención o la eliminación manual de la ejecución.

Configurar Visual Studio

Nota:

Visual Studio para Mac no admite la depuración mediante servidores de símbolos.

Antes de empezar a consumir nuestros símbolos desde el servidor de símbolos de Azure Artifacts, vamos a asegurarnos de que Visual Studio está configurado correctamente:

  1. En Visual Studio, seleccione Herramientas y Opciones.

  2. Seleccione Símbolos en el menú Depuración.

  3. Seleccione el signo + para agregar una nueva ubicación del servidor de símbolos.

    Captura de pantalla en la que se muestra cómo agregar una nueva ubicación de servidor de símbolos.

  4. Se abrirá un nuevo cuadro de diálogo; seleccione la cuenta en el menú desplegable y, luego, elija la organización a la que quiere conectarse. Cuando lo haya hecho, seleccione Conectar.

  5. Seleccione General en la misma sección Depuración. Desplácese hacia abajo y active la casilla Habilitar compatibilidad con vínculos de origen para habilitar la compatibilidad con archivos PDB portables.

    Captura de pantalla en la que se muestra cómo habilitar la compatibilidad con el vínculo de origen en Visual Studio.

Nota:

Al activar la opción Habilitar compatibilidad de servidor de origen, puede usar el servidor de origen cuando no haya código fuente en la máquina local o el archivo de símbolos no coincida con el código fuente. Si quiere permitir la depuración del código fuente de terceros, desactive la casilla Habilitar Solo mi código.

Preguntas más frecuentes

P: ¿Durante cuánto tiempo se retienen los símbolos?

R: Un archivo de símbolos tiene el mismo período de retención que la compilación que lo generó. Al eliminar una compilación bien de forma manual o mediante directivas de retención, también se eliminarán los símbolos generados por esa compilación.

P: ¿Puedo usar la indexación de origen en un archivo PDB portable generado a partir de un ensamblado de .NET Core?

R: En este momento, no es posible. La indexación de origen no se admite actualmente para archivos PDB portables. El enfoque recomendado es configurar la compilación para realizar la indexación.