Publicar símbolos com o Azure Pipelines

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Com o Azure Pipelines, você pode publicar seus símbolos no servidor de símbolos de Artefatos do Azure usando a tarefa Fontes de índice e publicar símbolos . Você pode usar o depurador para se conectar e recuperar automaticamente os arquivos de símbolos corretos sem saber nomes de produtos, números de compilação ou nomes de pacotes. Usando o Azure Pipelines, você também pode publicar seus símbolos em compartilhamentos de arquivos e PDBs portáteis.

Nota

A tarefa Fontes de índice e símbolos de publicação não é suportada em pipelines de versão.

Publicar símbolos no servidor de símbolos de Artefatos do Azure

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelines, selecione seu pipeline e, em seguida, selecione Editar para modificar seu pipeline.

  3. Na definição de pipeline, selecione + para adicionar uma nova tarefa.

  4. Procure a tarefa Indexar fontes e publicar símbolos . Selecione Adicionar para adicioná-lo ao seu pipeline.

  5. Preencha os campos obrigatórios da seguinte forma:

    • Versão da tarefa: 2.\*.

    • Nome para exibição: nome para exibição da tarefa.

    • Caminho para a pasta de símbolos: caminho para a pasta que hospeda os arquivos de símbolos.

    • Padrão de pesquisa: o padrão usado para localizar os arquivos .pdb na pasta que você designou na pasta Caminho para símbolos. Há suporte para curingas de pasta única (*) e curingas recursivos (**). Exemplo: *\bin**.pdb: procurará todos os arquivos .pdb dentro de todos os subdiretórios chamados bin.

    • Fontes de índice: indica se as informações do servidor de origem devem ser injetadas nos arquivos PDB.

    • Publicar símbolos: indica se os arquivos de símbolos devem ser publicados.

      • Tipo de servidor de símbolos: selecione Servidor de Símbolos nesta organização/coleção (requer Artefatos do Azure) para publicar seus símbolos no servidor de símbolos de Artefatos do Azure.
    • Registro detalhado: inclua mais informações em seus logs.

Captura de tela mostrando como configurar as fontes de índice e a tarefa de publicar símbolos para publicar símbolos no servidor de símbolos de Artefatos do Azure.

Publicar símbolos em um compartilhamento de arquivos

Além do servidor de símbolos de Artefatos do Azure, você também pode publicar seus símbolos em um compartilhamento de arquivos usando a tarefa Fontes de Índice e Publicar Símbolos .

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelines, selecione seu pipeline e, em seguida, selecione Editar para modificar seu pipeline.

  3. Na definição de pipeline, selecione + para adicionar uma nova tarefa.

  4. Procure a tarefa Indexar fontes e publicar símbolos . Selecione Adicionar para adicioná-lo ao seu pipeline.

  5. Preencha os campos obrigatórios da seguinte forma:

    • Versão da tarefa: 2.\*.

    • Nome para exibição: nome para exibição da tarefa.

    • Caminho para a pasta de símbolos: caminho para a pasta que hospeda os arquivos de símbolos.

    • Padrão de pesquisa: o padrão usado para localizar os arquivos .pdb na pasta que você designou na pasta Caminho para símbolos.

    • Fontes de índice: indica se as informações do servidor de origem devem ser injetadas nos arquivos PDB.

    • Publicar símbolos: indica se os arquivos de símbolos devem ser publicados.

      • Tipo de servidor de símbolos: selecione Compartilhamento de arquivos para publicar seus símbolos em um compartilhamento de arquivos.
      • Caminho para publicar símbolos: o compartilhamento de arquivos que hospedará seus símbolos.
    • Registro detalhado: verifique para incluir mais informações em seus logs.

    Captura de tela mostrando como configurar as fontes de índice e a tarefa de publicar símbolos para publicar símbolos em um compartilhamento de arquivos.

Publicar PDBs portáteis no servidor de símbolos do Azure Artifacts

PDBs portáteis são arquivos de símbolos que podem ser criados e usados em todas as plataformas, ao contrário dos PDBs tradicionais que são usados apenas no Windows. Para PDBs portáteis, a compilação faz a indexação, mas você ainda precisa usar a tarefa Fontes de índice e Publicar símbolos para publicar seus símbolos.

Source Link é um conjunto de ferramentas que permite aos desenvolvedores depurar seu código-fonte mapeando dos assemblies .NET de volta para o código-fonte. Confira o repositório GitHub dotnet/sourcelink para saber mais sobre os diferentes pacotes incluídos.

  • Para projetos hospedados no GitHub, adicione a referência do Microsoft.SourceLink.GitHub pacote ao seu arquivo de projeto.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Para projetos hospedados no Azure Repos (antigo Visual Studio Team Services), adicione a referência de Microsoft.SourceLink.AzureRepos.Git pacote ao seu arquivo de projeto.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Para projetos hospedados no Azure DevOps Server (antigo Team Foundation Server), adicione a referência de Microsoft.SourceLink.AzureDevOpsServer.Git pacote ao seu arquivo de projeto.

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

Configurar a tarefa de publicação

A tarefa Fontes de Índice & Publicar Símbolos é usada para indexar seu código-fonte e publicar seus símbolos em compartilhamentos de arquivos, servidores e símbolos de Artefatos do Azure. Como estamos usando o Link de origem, teremos que desabilitar a indexação na tarefa de publicação.

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelines, selecione seu pipeline e, em seguida, selecione Editar para modificar seu pipeline.

  3. Na definição de pipeline, selecione + para adicionar uma nova tarefa.

  4. Procure a tarefa Indexar fontes e publicar símbolos . Selecione Adicionar para adicioná-lo ao seu pipeline.

  5. Preencha os campos obrigatórios e selecione Servidor de símbolos para o tipo de servidor Símbolo. Certifique-se de desmarcar Fontes de índice para desativar a indexação.

    Uma captura de tela mostrando como configurar a tarefa de publicação para publicar PDBs portáteis no servidor de símbolos de Artefatos do Azure.

Importante

Para excluir símbolos publicados por meio da tarefa Fontes de índice & Publicar símbolos , você deve primeiro excluir a compilação que gerou esses símbolos. Isso pode ser feito usando políticas de retenção ou excluindo manualmente a execução.

Configurar o Visual Studio

Nota

Visual Studio para Mac não oferece suporte à depuração usando servidores de símbolos.

Antes de começar a consumir nossos símbolos do servidor de símbolos de Artefatos do Azure, vamos verificar se o Visual Studio está configurado corretamente:

  1. No Visual Studio, selecione Ferramentas e, em seguida , Opções.

  2. Selecione Símbolos no menu Depuração.

  3. Selecione o sinal para adicionar um novo local do + servidor de símbolos.

    Captura de tela mostrando como adicionar um novo local de servidor de símbolos.

  4. Uma nova caixa de diálogo será exibida, selecione sua conta no menu suspenso e, em seguida, selecione a organização à qual deseja se conectar. Selecione Conectar quando terminar.

  5. Selecione Geral na mesma seção Depuração . Role para baixo e marque Ativar suporte a Link de origem para habilitar o suporte para PDBs portáteis.

    Uma captura de tela mostrando como habilitar o suporte ao link de origem no Visual Studio.

Nota

Marcar a opção Ativar suporte ao servidor de origem permite que você use o servidor de origem nos casos em que o código-fonte não está disponível localmente ou o arquivo de símbolo não corresponde ao código-fonte. Se você quiser habilitar a depuração para código-fonte de terceiros, desmarque a caixa de seleção Ativar Apenas Meu Código .

FAQs

P: Qual é a duração durante a qual os símbolos são mantidos?

R: Um arquivo de símbolo tem o mesmo período de retenção que a compilação que o gerou. Quando você exclui uma compilação manualmente ou usando políticas de retenção, os símbolos que foram gerados por essa compilação também serão excluídos.

P: Posso usar a indexação de origem em um PDB portátil gerado a partir de um assembly .NET Core?

R: Isso não é possível no momento. Atualmente, a indexação de origem não é suportada para PDBs portáteis. A abordagem recomendada é configurar sua compilação para fazer a indexação.