Publier des symboles avec Azure Pipelines

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

Avec Azure Pipelines, vous pouvez publier vos symboles sur le serveur de symboles Azure Artifacts à l’aide de la tâche Indexer les sources et publier des symboles. Vous pouvez utiliser le débogueur pour vous connecter et récupérer automatiquement les fichiers de symboles appropriés sans connaître les noms de produits, les numéros de build ou les noms de package. À l’aide d’Azure Pipelines, vous pouvez également publier vos symboles sur des partages de fichiers et des PDB portables.

Notes

La tâche Indexer les sources et publier les symboles n’est pas prise en charge dans les pipelines de mise en production.

Publier des symboles sur le serveur de symboles Azure Artifacts

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Pipelines, sélectionnez votre pipeline, puis Modifier pour modifier votre pipeline.

  3. À partir de votre définition de pipeline, sélectionnez + pour ajouter une nouvelle tâche.

  4. Recherchez la tâche Indexer les sources et publier les symboles. Sélectionnez Ajouter pour l’ajouter à votre pipeline.

  5. Renseignez les champs obligatoires comme suit :

    • Version de la tâche  : 2.\*.

    • Nom d’affichage : nom d’affichage de la tâche.

    • Chemin d’accès au dossier de symboles : chemin d’accès au dossier hébergeant les fichiers de symboles.

    • Modèle de recherche : modèle utilisé pour localiser les fichiers .pdb dans le dossier que vous avez spécifié dans le dossier Chemin d’accès aux symboles. Les caractères génériques à dossier unique (*) tout comme les caractères génériques récursifs (**) sont pris en charge. Exemple : *\bin**.pdb : recherche tous les fichiers .pdb dans tous les sous-répertoires nommés bin.

    • Indexer les sources : Indique si les informations du serveur source doivent être injectées dans les fichiers PDB.

    • Publier les symboles : indique s’il faut publier les fichiers de symboles.

      • Type de serveur de symboles : sélectionnez Serveur de symboles dans cette organisation/collection (nécessite Azure Artifacts) pour publier vos symboles sur le serveur de symboles Azure Artifacts.
    • Journalisation détaillée : inclut plus d’informations dans vos journaux.

Capture d’écran montrant comment configurer la tâche Indexer les sources et publier les symboles pour publier des symboles sur le serveur de symboles Azure Artifacts.

Publier des symboles sur un partage de fichiers

En plus du serveur de symboles Azure Artifacts, vous pouvez également publier vos symboles dans un partage de fichiers à l’aide de la tâche Indexer les sources et publier les symboles.

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Pipelines, sélectionnez votre pipeline, puis Modifier pour modifier votre pipeline.

  3. À partir de votre définition de pipeline, sélectionnez + pour ajouter une nouvelle tâche.

  4. Recherchez la tâche Indexer les sources et publier les symboles. Sélectionnez Ajouter pour l’ajouter à votre pipeline.

  5. Renseignez les champs obligatoires comme suit :

    • Version de la tâche  : 2.\*.

    • Nom d’affichage : nom d’affichage de la tâche.

    • Chemin d’accès au dossier de symboles : chemin d’accès au dossier hébergeant les fichiers de symboles.

    • Modèle de recherche : modèle utilisé pour localiser les fichiers .pdb dans le dossier que vous avez spécifié dans le dossier Chemin d’accès aux symboles.

    • Indexer les sources : Indique si les informations du serveur source doivent être injectées dans les fichiers PDB.

    • Publier les symboles : indique s’il faut publier les fichiers de symboles.

      • Type de serveur de symboles : sélectionnez Partage de fichiers pour publier vos symboles dans un partage de fichiers.
      • Chemin d’accès pour la publication des symboles : partage de fichiers qui hébergera vos symboles.
    • Journalisation détaillée : cochez pour inclure plus d’informations dans vos journaux.

    Capture d’écran montrant comment configurer la tâche Indexer les sources et publier les symboles pour publier les symboles sur un partage de fichiers.

Publier des fichiers PDF portables sur le serveur de symboles Azure Artifacts

Les fichiers PDF portables sont des fichiers de symboles qui peuvent être créés et utilisés sur toutes les plateformes, contrairement aux fichiers PDB traditionnels, qui sont utilisés uniquement sur Windows. Pour les fichiers PDF portables, la build effectue l’indexation, mais vous devez toujours utiliser la tâche Indexer les sources et publier les symboles pour publier vos symboles.

Source Link est un ensemble d’outils qui permettent aux développeurs de déboguer leur code source en mappant des assemblys .NET sur le code source. Consultez le dépôt GitHub dotnet/sourcelink pour en savoir plus sur les différents packages inclus.

  • Pour les projets hébergés sur GitHub, ajoutez la référence de package Microsoft.SourceLink.GitHub à votre fichier projet.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Pour les projets hébergés sur Azure Repos (anciennement Visual Studio Team Services), ajoutez la référence de package Microsoft.SourceLink.AzureRepos.Git à votre fichier projet.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Pour les projets hébergés sur Azure DevOps Server (anciennement Team Foundation Server), ajoutez la référence de package Microsoft.SourceLink.AzureDevOpsServer.Git à votre fichier projet.

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

Configurer la tâche de publication

La tâche Indexer les sources et publier les symboles est utilisée pour indexer votre code source et publier vos symboles sur le serveur de symboles Azure Artifacts et les partages de fichiers. Étant donné que nous utilisons Source Link, nous allons devoir désactiver l’indexation dans la tâche de publication.

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Pipelines, sélectionnez votre pipeline, puis Modifier pour modifier votre pipeline.

  3. À partir de votre définition de pipeline, sélectionnez + pour ajouter une nouvelle tâche.

  4. Recherchez la tâche Indexer les sources et publier les symboles. Sélectionnez Ajouter pour l’ajouter à votre pipeline.

  5. Renseignez les champs obligatoires et sélectionnez Serveur de symboles pour le type de serveur de symboles. Veillez à décocher Indexer les sources pour désactiver l’indexation.

    Capture d’écran montrant comment configurer la tâche de publication pour publier les PDB portables sur le serveur de symboles Azure Artifacts.

Important

Pour supprimer des symboles publiés à l’aide de la tâche Indexer les sources et publier les symboles, vous devez d’abord supprimer la build qui a généré ces symboles. Pour ce faire, utilisez des stratégies de rétention ou supprimez manuellement l’exécution.

Configurer Visual Studio

Remarque

Visual Studio pour Mac ne prend pas en charge le débogage à l’aide de serveurs de symboles.

Avant de commencer à utiliser nos symboles à partir du serveur de symboles Azure Artifacts, nous allons nous assurer que Visual Studio est correctement configuré :

  1. Dans Visual Studio, sélectionnez Outils, puis Options.

  2. Sélectionnez Symboles dans le menu Débogage.

  3. Sélectionnez le signe + pour ajouter un nouvel emplacement de serveur de symboles.

    Capture d’écran montrant comment ajouter un nouvel emplacement de serveur de symboles.

  4. Une nouvelle boîte de dialogue apparaît, sélectionnez votre compte dans le menu déroulant, puis sélectionnez l’organisation à laquelle vous souhaitez vous connecter. Sélectionnez Se connecter lorsque vous avez terminé.

  5. Sélectionnez Général dans la même section Débogage. Faites défiler vers le bas et cochez Activer la prise en charge de Source Link pour activer la prise en charge des PDB portables.

    Capture d’écran montrant comment activer la prise en charge de lien vers la source dans Visual Studio.

Remarque

La vérification de l’option Activer la prise en charge du serveur source vous permet d’utiliser le serveur source lorsque le code source n’est pas disponible localement ou que le fichier de symboles ne correspond pas au code source. Si vous souhaitez activer le débogage de code source tiers, désélectionnez la case Activer Uniquement mon code.

FAQ

Q : Quelle est la durée pendant laquelle les symboles sont conservés ?

R : Un fichier de symboles a la même période de rétention que la build qui l’a généré. Lorsque vous supprimez une build manuellement ou à l’aide de stratégies de rétention, les symboles générés par cette build sont également supprimés.

Q : Puis-je utiliser l’indexation source sur une base de données PDB portable générée à partir d’un assembly .NET Core ?

R : Ce n’est pas possible pour le moment. L’indexation source n’est actuellement pas prise en charge pour les PDB portables. L’approche recommandée consiste à configurer votre build pour effectuer l’indexation.