Поделиться через


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

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

С помощью 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.
    • Подробное ведение журналов: включите больше информации в свои журналы.

Снимок экрана: настройка источников индекса и задача публикации символов для публикации символов на сервере символов Azure Artifacts.

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

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

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

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

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

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

  5. Заполните обязательные поля следующим образом:

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

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

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

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

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

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

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

    Снимок экрана, показывающий, как настроить источники индекса и задачу публикации символов для публикации символов в общий доступ.

Публикация переносимых PDB-файлов на сервере символов 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. Заполните обязательные поля и выберите "Сервер символов " для типа сервера символов. Убедитесь, что вы сняли флажок Источники индекса, чтобы отключить индексирование.

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

Это важно

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

Настройка Visual Studio

Замечание

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

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

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

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

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

    Снимок экрана, показывающий, как добавить новое расположение сервера символов.

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

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

    Снимок экрана: включение поддержки ссылок источника в Visual Studio.

Замечание

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

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

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

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

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

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