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


Управление сведениями по построении и уровнем детализации

О завершенном построении можно получить следующие сведения:

  • Как построение было запущено? Было ли построение выполнено успешно? Когда оно было запущено? Сколько времени заняло построение? Как оно было выполнено по сравнению с предыдущими построениями?

  • Построение чего было выполнено? Какие решения, наборы изменений и исправления ошибок вошли в построение?

  • Что неправильно? Какие были выданы предупреждения или ошибки? Какие тесты завершились ошибкой?

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

Содержание раздела

  • Создание и поток информации о построении

    • Определение процесса построения

    • Процесс построения помещен в очередь и выполнен

    • Информация о построении создана, отфильтрована и сохранена

    • Получение информации о построении

  • Задание параметра процесса построения, определяющего подробность записи в журнал

  • Рекомендация: как можно меньше подробностей

    • При выполнении построения следует использовать минимальный уровень подробности

    • При создании пользовательского шаблона процесса построения используйте минимальный уровень подробности

  • Дополнительные сведения

Создание и поток информации о построении

Поток информации о построении и параметров детализации

Определение процесса построения

Шаг 1 При определении процесса построения возможен систематический контроль за степенью подробности информации. При создании или изменении определения построения на основе шаблона DefaultTemplate.xaml или UpgradeTemplate.xaml перейдите на вкладку Процесс. В узле Основной можно выбрать значение в списке Уровень подробного ведения журнала, задав этот параметр построения.

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

Процесс построения помещен в очередь и выполнен

Шаг 2 Можно вручную переопределить параметр Уровень подробного ведения журнала при постановке в очередь определения построения, основанного на шаблоне DefaultTemplate.xaml или UpgradeTemplate.xaml. В диалоговом окне Поставить построение в очередь перейдите на вкладку Параметры, раскройте узел Основные и выберите значение в списке Уровень подробного ведения журнала, задав этот параметр построения. Это значение применяется к данному выполнению построения.

Информация о построении создана, отфильтрована и сохранена

Шаг 3 Система построения передает значение параметра процесса построения Уровень детализации в свойство Verbosity. Это свойство используется для фильтрации записываемой в журнал и сохраняемой в хранилище данных с помощью Information информации о построении, полученной из следующих источников:

  • Действия рабочего процесса. Несколько действий рабочего процесса создают сообщение, если операция удалась, и предупреждение или ошибку, если она прошла неудачно. Например, действие SyncWorkspace создает сообщения с низким приоритетом при загрузке исходного кода и других файлов с сервера на агент построения. Если загрузка файлов не удается, это действие создает сообщения об ошибках. Другой пример: действие OpenWorkItem создает предупреждение, если не удалось создание рабочего элемента.

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

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

    • Хранилище данных хранит результаты компиляции, ошибки и предупреждения.

    • Журнал в транзитном каталоге хранит ту же информацию, что и хранилище данных, а также все остальные сообщения, создаваемые действием MSBuild.

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

Получение информации о построении

Шаг 4 Во время выполнения построения и после его завершения краткую и подробную информацию можно получать в окне результатов построения. Из этого окна информацию можно скопировать в буфер обмена. Также можно получить данные журнала, двоичные файлы и другие данные прямо из транзитного каталога.

Параметр процесса построения, определяющий детализацию записи в журнал

В процессе построения, основанном на шаблоне DefaultTemplate.xaml или UpgradeTemplate.xaml можно использовать параметр процесса построения Уровень подробного ведения журнала для управления детализацией сохраняемой и записываемой в журнал информации.

В следующей таблице перечисляются значения уровня подробности ведения журнала и результаты их применения.

Значение

Ошибки

Предупреждения

Сообщения высокой важности

Сообщения с обычным уровнем важности

Сообщения с низким уровнем важности

Свойства действия рабочего процесса (входные и выходные данные)

Минимальный

Y

N

N

N

N

N

Обычные

Y

Y

Y

N

N

N

Подробные

Y

Y

Y

Y

N

N

Диагностические (обычно используются только для отладки процесса построения)

Y

Y

Y

Y

Y

Y

Рекомендация: как можно меньше подробностей

Хотя сведения о построении важны, процесс построения, записывающий в журнал слишком много информации, может вызвать проблемы. Среди этих проблем потребление слишком большого количества места в хранилище данных, уменьшение производительности Visual Studio и перегрузка членов команды лишней информацией, с которой невозможно справиться.

При выполнении построения следует использовать минимальный уровень подробности

Выполняя построение, следует придерживаться рекомендации использовать минимальный уровень детализации, который предоставляет сведения, необходимые для достижения цели.

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

При создании пользовательского шаблона процесса построения используйте минимальный уровень подробности

Пользователи вашего процесса построения могут использовать фильтрацию для уменьшения потока информации. Эту фильтрацию можно сделать более эффективной, приняв следующие меры:

  • Убедитесь, что для записи сообщения выбрано наиболее подходящее действие: Действие WriteBuildMessage, Действие WriteBuildWarning или Действие WriteBuildError.

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

Примечание

Особенно сильными последствия таких решений могут быть, если эти действия используются внутри циклов, например DoWhile, ForEach<T> или While.

Дополнительные сведения

Раздел Действия построения Team Foundation описывает упоминаемые в этой теме действия рабочего процесса.

Разделы Определение построения с помощью шаблона по умолчанию и Определение построения с помощью шаблона обновления содержат руководство по созданию определения построения.

Раздел Отображение окна результатов построения содержит руководство по использованию окна результатов построения.

Разделы IBuildDetail, BuildMessageImportance и BuildVerbosity описывают некоторые ключевые элементы API-интерфейса Team Foundation Build, предоставляющие функции получения сведений о построении.

Раздел Справочные сведения о командной строке MSBuild описывает MSBuild.

Разделы Задание триггеров и причин выполнения построения и Помещение построения в очередь описывают автоматическое и ручное помещение построения в очередь.

Журнал изменений

Дата

Журнал

Причина

Апрель 2011

Добавлен раздел.

Улучшение информации.