Публикация символов с помощью Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019 | TFS 2018

С помощью Azure Pipelines можно опубликовать символы на сервере символов Azure Artifacts с помощью источников индекса и задачи публикации символов . Отладчик можно использовать для подключения и автоматического извлечения правильных файлов символов, не зная имена продуктов, номера сборки или имена пакетов. С помощью Azure Pipelines вы также можете публиковать символы в общих папках и переносимых PDF-файлах.

Примечание.

Задача "Источники индекса" и задача публикации символов не поддерживается в конвейерах выпуска.

Публикация символов на сервере символов Артефактов Azure

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите конвейеры, выберите конвейер и нажмите кнопку "Изменить ", чтобы изменить конвейер.

  3. В определении конвейера выберите + , чтобы добавить новую задачу.

  4. Найдите источники индекса и опубликуйте задачу символов. Нажмите кнопку "Добавить ", чтобы добавить ее в конвейер.

  5. Заполните обязательные поля:

    • Версия задачи: 2.\*.

    • Отображаемое имя: отображаемое имя задачи.

    • Путь к папке символов: путь к папке с файлами символов.

    • Шаблон поиска: шаблон, используемый для поиска PDB-файлов в папке, указанной в папке Path to symbols. В одной папке поддерживаются дикие карта (*) и рекурсивные дикие карта (**). Пример: *\bin**.pdb: выполняет поиск всех PDB-файлов во всех подкаталогах с именем bin.

    • Источники индекса: указывает, следует ли внедрять сведения о исходном сервере в PDB-файлы.

    • Публикация символов: указывает, следует ли публиковать файлы символов.

      • Тип сервера символов: выберите сервер символов в этой организации или коллекции (требуется Azure Artifacts) для публикации символов на сервере символов Azure Artifacts.
    • Подробное ведение журнала: включите дополнительные сведения в журналы.

Screenshot showing how to configure the index sources and publish symbols task to publish symbols to Azure Artifacts symbol server.

Публикация символов в общей папке

Помимо сервера символов Azure Artifacts, вы также можете опубликовать символы в общей папке с помощью задачи "Источники индекса" и "Опубликовать символы ".

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите конвейеры, выберите конвейер и нажмите кнопку "Изменить ", чтобы изменить конвейер.

  3. В определении конвейера выберите + , чтобы добавить новую задачу.

  4. Найдите источники индекса и опубликуйте задачу символов. Нажмите кнопку "Добавить ", чтобы добавить ее в конвейер.

  5. Заполните обязательные поля:

    • Версия задачи: 2.\*.

    • Отображаемое имя: отображаемое имя задачи.

    • Путь к папке символов: путь к папке с файлами символов.

    • Шаблон поиска: шаблон, используемый для поиска PDB-файлов в папке, указанной в папке Path to symbols.

    • Источники индекса: указывает, следует ли внедрять сведения о исходном сервере в PDB-файлы.

    • Публикация символов: указывает, следует ли публиковать файлы символов.

      • Тип сервера символов: выберите общую папку для публикации символов в общей папке.
      • Путь к публикации символов: общая папка, в которую будут размещаться символы.
    • Подробное ведение журнала: проверка для включения дополнительных сведений в журналы.

    Screenshot showing how to configure the index sources and publish symbols task to publish symbols to a file share.

Публикация переносимых PDF-файлов на сервере символов Azure Artifacts

Переносимые PDF-файлы — это файлы символов, которые можно создавать и использовать на всех платформах в отличие от традиционных PDF-файлов, которые используются только в Windows. Для переносимых PDF-файлов сборка выполняет индексирование, но вам по-прежнему необходимо использовать задачу "Источники индекса" и "Опубликовать символы" для публикации символов .

Source Link — это набор средств, позволяющих разработчикам выполнять отладку исходного кода путем сопоставления сборок .NET обратно с исходным кодом. Ознакомьтесь с репозиторием dotnet/sourcelink GitHub, чтобы узнать о различных пакетах.

  • Для проектов, размещенных на сайте GitHub, добавьте ссылку Microsoft.SourceLink.GitHub на пакет в файл проекта.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Для проектов, размещенных в Azure Repos (бывший Visual Studio Team Services), добавьте ссылку Microsoft.SourceLink.AzureRepos.Git на пакет в файл проекта.

    <ItemGroup>
      <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/>
    </ItemGroup>
    
  • Для проектов, размещенных на сервере Azure DevOps Server (бывший Team Foundation Server), добавьте ссылку Microsoft.SourceLink.AzureDevOpsServer.Git на пакет в файл проекта.

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

Настройка задачи публикации

Задача "Источники индексов" и "Опубликовать символы" используется для индексирования исходного кода и публикации символов в сервере и общих папках символов Azure Artifacts. Так как мы используем исходную ссылку, нам придется отключить индексирование в задаче публикации.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите конвейеры, выберите конвейер и нажмите кнопку "Изменить ", чтобы изменить конвейер.

  3. В определении конвейера выберите + , чтобы добавить новую задачу.

  4. Найдите источники индекса и опубликуйте задачу символов. Нажмите кнопку "Добавить ", чтобы добавить ее в конвейер.

  5. Заполните обязательные поля и выберите "Сервер символов" для типа сервера символов. Убедитесь, что вы не проверка источники индекса, чтобы отключить индексирование.

    A screenshot showing how to configure the publish task to publish portable PDBs to Azure Artifacts symbol server.

Важно!

Чтобы удалить символы, опубликованные с помощью задачи "Источники индексов" и "Опубликовать символы ", необходимо сначала удалить сборку, созданную этими символами. Это можно сделать, используя политики хранения или вручную удалив выполнение.

Настройка Visual Studio

Примечание.

Visual Studio для Mac не поддерживает отладку с помощью серверов символов.

Прежде чем начать использовать наши символы с сервера символов Артефактов Azure, давайте убедитесь, что Visual Studio настроен правильно:

  1. В Visual Studio выберите "Сервис" и "Параметры".

  2. Выберите символы в меню отладки .

  3. + Выберите знак, чтобы добавить новое расположение сервера символов.

    Screenshot showing how to add a new symbol server location.

  4. Откроется новое диалоговое окно, выберите свою учетную запись в раскрывающемся меню и выберите организацию, к которой вы хотите подключиться. Выберите Подключение после завершения.

  5. Выберите "Общие" в том же разделе отладки . Прокрутите вниз и проверка включите поддержку исходного канала, чтобы включить поддержку переносимых PDF-файлов.

    A screenshot showing how to enable source link support in Visual studio.

Примечание.

Проверка параметра поддержки исходного сервера позволяет использовать исходный сервер в случаях, когда исходный код недоступен локально или файл символов не соответствует исходному коду. Если вы хотите включить отладку для стороннего исходного кода, отключите флажок Enable Just My Code проверка box.

Вопросы и ответы

Вопрос. Какова длительность хранения символов?

Ответ. Файл символов имеет тот же период хранения, что и созданная сборка. При удалении сборки вручную или с помощью политик хранения символы, созданные этой сборкой, также будут удалены.

Вопрос. Можно ли использовать индексирование источника в переносимой PDB, созданной из сборки .NET Core?

Ответ. На данный момент это невозможно. Индексирование источника в настоящее время не поддерживается для переносимых PDF-файлов. Рекомендуемый подход — настроить сборку для индексирования.