Partilhar via


Publicar símbolos com o Azure Pipelines

Serviços de DevOps do Azure | 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 as fontes do Index e publicar símbolos tarefa. 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.

Observação

O Indexar fontes e publicar símbolos tarefa não é suportado 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 o seu pipeline e, em seguida, selecione Editar para modificar o seu pipeline.

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

  4. Procure as fontes do Índice e publique a tarefa de 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ímbolo.

    • Padrão de pesquisa: o padrão usado para localizar os arquivos .pdb na pasta que você determinou sob o caminho para a pasta de símbolos . São suportadas as expressões de pasta única (*) e as expressões recursivas (**). 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 Azure Artifacts) para publicar os seus símbolos no servidor de símbolos do Azure Artifacts.
    • Registo detalhado: inclua mais informações nos 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, pode também publicar os seus símbolos num compartilhamento de ficheiros 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 o seu pipeline e, em seguida, selecione Editar para modificar o seu pipeline.

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

  4. Procure as fontes do Índice e publique a tarefa de 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ímbolo.

    • Padrão de pesquisa: o padrão usado para localizar os arquivos .pdb na pasta que você determinou sob o caminho para a pasta de 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ímbolo: selecione Compartilhamento de Arquivos para publicar os seus símbolos em um compartilhamento de arquivos.
      • Caminho para publicar símbolos: o compartilhamento de arquivos que hospedará seus símbolos.
    • Registro detalhado: marcar para incluir mais informações nos seus registos.

    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 ainda precisa usar a tarefa Indexar Fontes e Publicar Símbolos para publicar os seus símbolos.

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

  • Para projetos hospedados no GitHub, adicione a referência de pacote Microsoft.SourceLink.GitHub 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 pacote Microsoft.SourceLink.AzureRepos.Git 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 pacote Microsoft.SourceLink.AzureDevOpsServer.Git 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 'Indexar Fontes & Publicar Símbolos' é usada para indexar o seu código-fonte e publicar os seus símbolos no servidor de símbolos do Azure Artifacts e em compartilhamentos de arquivos. Como estamos usando Link de origem, teremos que desativar de 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 o seu pipeline e, em seguida, selecione Editar para modificar o seu pipeline.

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

  4. Procure as fontes do Índice e publique a tarefa de 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

Observação

Visual Studio para Mac não suporta 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 depois Opções.

  2. Selecione Símbolos a partir do menu Depuração.

  3. Selecione o símbolo + 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 a sua conta no menu pendente e, em seguida, selecione a organização à qual pretende ligar-se. Selecione Ligar quando terminar.

  5. Selecione Geral na mesma seção de Depuração. Desloque-se para baixo e marque Ativar suporte para Link de Origem para ativar o suporte para PDBs portáteis.

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

Observação

Marcar a opção Habilitar suporte ao Source Server permite que você utilize o Source Server nos casos em que o código-fonte não está disponível localmente ou o arquivo de símbolos 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.

Perguntas frequentes

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.