Compartilhar via


Publicar símbolos com o Azure Pipelines

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

Com o Azure Pipelines, você pode publicar seus símbolos no servidor de símbolos do Azure Artifacts usando a tarefa Indexar fontes e publicar símbolos. Você pode usar o depurador para se conectar e recuperar automaticamente os arquivos de símbolo corretos sem saber nomes de produto, números de build ou nomes de pacote. Usando o Azure Pipelines, você também pode publicar seus símbolos em compartilhamentos de arquivos e PDBs portáteis.

Observação

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

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

  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 o pipeline.

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

  4. Pesquise as fontes de índice e publique a tarefa de símbolos . Selecione Adicionar para adicioná-lo ao pipeline.

  5. Preencha os campos necessários da seguinte maneira:

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

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

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

    • Padrão de pesquisa: o padrão usado para localizar os arquivos .pdb na pasta que você designou na pasta Caminho para símbolos. Curinga de pasta única (*) e curingas recursivos (**) têm suporte. Exemplo: *\bin**.pdb: procurará todos os arquivos .pdb em 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ímbolo devem ser publicados.

      • Tipo de servidor de símbolo: selecione o Servidor de Símbolos nesta organização/coleção (exige que o Azure Artifacts) publique seus símbolos no servidor de símbolos do Azure Artifacts.
    • Log detalhado: inclua mais informações nos logs.

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

Publicar símbolos em um compartilhamento de arquivos

Além do servidor de símbolos do Azure Artifacts, você também pode publicar seus símbolos em um compartilhamento de arquivos usando a tarefa Fontes de Índice e Símbolos 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 o pipeline.

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

  4. Pesquise as fontes de índice e publique a tarefa de símbolos . Selecione Adicionar para adicioná-lo ao pipeline.

  5. Preencha os campos necessários da seguinte maneira:

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

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

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

    • 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ímbolo devem ser publicados.

      • Tipo de servidor de símbolo: 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.
    • Log detalhado: verifique para incluir mais informações em seus logs.

    Captura de tela mostrando como configurar as origens do índice e configurar a tarefa de publicação de símbolos para publicar símbolos em uma pasta compartilhada.

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

PDBs portáteis são arquivos de símbolo que podem ser criados e usados em todas as plataformas, ao contrário dos PDBs tradicionais que são usados somente no Windows. Para PDBs portáteis, o build 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 os assemblies .NET de volta para o código de origem. Confira o repositório GitHub do dotnet/sourcelink para saber mais sobre os diferentes pacotes incluídos.

  • Para projetos hospedados no GitHub, adicione a referência de Microsoft.SourceLink.GitHub pacote ao 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 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 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 Indexar Fontes & Publicar Símbolos é usada para indexar seu código-fonte e publicar seus símbolos no servidor de artefatos de símbolos do Azure e em compartilhamentos de arquivos. 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 o pipeline.

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

  4. Pesquise as fontes de índice e publique a tarefa de símbolos . Selecione Adicionar para adicioná-lo ao pipeline.

  5. Preencha os campos necessários e selecione o Servidor de Símbolos para o tipo de servidor símbolo. Certifique-se de desmarcar Indexar fontes para desabilitar 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 do Azure Artifacts.

Importante

Para excluir símbolos publicados por meio da tarefa Fontes de Índice &Publicar Símbolos , primeiro exclua o build que gerou esses símbolos. Isso pode ser feito usando políticas de retenção ou excluindo manualmente ode execução.

Configurar o Visual Studio

Observação

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

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

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

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

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

    Captura de tela mostrando como adicionar um novo local do 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 você deseja se conectar. Selecione Conectar quando terminar.

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

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

Observação

Verificar a opção Habilitar suporte do 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 Habilitar Apenas Meu Código .

Perguntas frequentes

P: Qual é a duração pela qual os símbolos são retidos?

R: Um arquivo de símbolo tem o mesmo período de retenção que o build que o gerou. Quando você excluir um build manualmente ou usando políticas de retenção, os símbolos gerados por esse build 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 do .NET Core?

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