Определение процесса построения, основанного на шаблоне по умолчанию

С помощью шаблона по умолчанию (DefaultTemplate.11.1.xaml) можно быстро определить основное построение, выбрав проекты создания кода, для которых требуется выполнить построение.Можно также использовать этот шаблон для включения более сложных функций (таких как выполнение автоматических тестов) и настроить несколько аспектов процесса построения в соответствии с требованиями команды.

Необходимые разрешения

Для выполнения данной процедуры необходимо задать для набора разрешений Редактировать определение построения значение Разрешить.Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

Создание определения построения с помощью шаблона по умолчанию

  1. В командном обозревателе выполните следующее.

    1. Если вы еще не подключены к командному проекту, в котором вы должны работать, подключитесь к командному проекту.

    2. Выберите Значок "Начало"Главная, а затем выберите Значок построенийПостроения.

    3. На странице Построения выберите Новое определение построения.

    Откроется окно Определение построения.

  2. На вкладке Процесс в Шаблон процесса построения, шаблон по умолчанию выбирается по умолчанию.В группе Параметры процесса построения разверните узел Требуется и укажите хотя бы одно решение или проект для построения.

    Дополнительные сведения см. в подразделе Задание проектов для построения ниже в этом разделе.

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

  4. После заполнения полей на вкладке Процесс, определите параметры процесса построения на других вкладках.

    Дополнительные сведения см. в разделе Создание определения построения.

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

  • Сведения о параметрах процесса построения шаблона по умолчанию

  • Задание проектов для построения

  • Задание платформ и конфигураций для построения

  • Укажите агенты построения, которые обрабатывают ваше построение

  • Определение временных пределов агента построения

  • Запуск автоматизированных тестов и включение анализа влияния на тесты

  • Задание основных параметров процесса построения

  • Определение дополнительных параметров процесса построения

Сведения о параметрах процесса построения шаблона по умолчанию

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

  • Работа ведется над командным проектом, который был создан на основе одного из двух шаблонов процессов, входящих в состав Visual Studio.

  • Шаблон по умолчанию не был удален или настроен DefaultTemplate.11.1.xaml.

Задание проектов для построения

В поле Проекты для построения можно указать одно или несколько решений или проектов кода для построения.(Для отображения этого поля последовательно разверните узлы Требуется и Элементы для построения.) Необходимо указать хотя бы одно решение или проект.

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

В поле Проекты для построения можно нажать на кнопку с многоточием (...) , чтобы открыть и использовать диалоговое окно Решения/Проекты для задания решений или проектов, предназначенных для построения.

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

$/Features/FeatureA/Server/All Server Projects.sln, $/Features/FeatureA/Client/All Client Projects.sln

Важное примечаниеВажно

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

Задание платформ и конфигураций для построения

В поле Конфигурации для построения можно указать платформы и конфигурации, которые требуется построить.(Для отображения этого поля последовательно разверните узлы Требуется и Элементы для построения.) Например, в этом поле можно указать значение "Выпуск|x86", чтобы выполнить построение только конфигурации выпуска 32-разрядной версии проекта C++.

СоветСовет

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

Если оставить поле Конфигурации для построения пустым, выполняется построение конфигурации и платформы, определенной по умолчанию в каждом решении или проекте.

В поле Элементы для построения можно нажать на кнопку с многоточием (...), чтобы открыть и использовать диалоговое окно Конфигурации для задания элементов, предназначенных для построения.Можно также указать их вручную.

Каждая конфигурация в поле Конфигурации для построения должна указываться в следующей форме:

Конфигурация.|Платформа

Данные заполнители следует заменить следующими значениями.

  • Конфигурация — такие значения, как "Отладка", "Выпуск" или "Все конфигурации".

  • Платформа — такие значения, как Win32, x86, x64 или anycpu.

Конфигурации в списке должны разделяться запятыми.

Например, при необходимости построения отладочной конфигурации и конфигурации выпуска для проекта C# в поле Конфигурации для построения следует указать значения "Отладка|anycpu", "Выпуск|anycpu".

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

Укажите агенты построения, которые обрабатывают ваше построение

Чтобы указать, какие агенты построения следует использовать для обработки построения, последовательно разверните узлы Дополнительно и Параметры агента, после чего укажите значения следующих параметров:

  • Фильтр имен – введя имя агента в этом поле можно отфильтровать агенты построения, которые используются для обработки этого определения построения.Можно также определить набор имен с помощью * и подстановочных знаков ?.Например, можно указать CI*, чтобы задать любой агент, чье имя начинается с символов CI.Агентами, соответствующими этому критерию, будут, в частности, CI, CI1 и CI_Agent2.

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

    ПримечаниеПримечание

    Пул агентов построения, которые доступны для обработки этого построения, определяется контроллером построений, заданным для данного определения построения.Для изменения контроллера построения, перейдите на вкладку Параметры построения по умолчанию, откройте меню Контроллер построения и выберите в нем контроллер построений.

  • Tag Comparison Operator. В меню выберите одно из следующих значений:

    • MatchExactly. Выберите это значение, если требуется, чтобы определение построения обрабатывалось только агентами построения, имеющими набор тегов, полностью совпадающий с набором, заданным вами в поле Фильтр тегов.Если не указано ни одного тега, определение построения может быть обработано любым агентом.

      СоветСовет

      Выбрав значение MatchExactly, вы ограничиваете множество доступных для определения построения агентов теми, набор тегов которых полностью совпадает с набором, заданным вами в поле Фильтр тегов.

    • MatchAtLeast. Выберите это значение, если требуется, чтобы определение построения обрабатывалось всеми агентами построения, имеющими набор тегов, заданный вами в поле Фильтр тегов.Если не указано ни одного тега, определение построения может быть обработано только агентом, не имеющим тегов.

Определение временных пределов агента построения

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

Цель...

Параметр

Инструкции по применению

Задать максимально допустимое время обработки построения агентом построения

Максимальное время выполнения

Введите значение интервала времени в формате чч:мм:сс.Например, если указано значение 04:30:15, а агент построения не завершил свою работу спустя 4 часа, 30 минут и 15 секунд, построение завершится ошибкой превышения времени ожидания.Укажите значение 00:00:00, если нужно предоставить агенту построения неограниченное время для обработки построения.

Задать максимально допустимое время для назначения запроса построения агенту построения

Максимальное время ожидания

Введите значение интервала времени в формате чч:мм:сс.Например, если указано значение 01:30:45, а построение не было назначено агенту построения спустя 1 час, 30 минут и 45 секунд, построение завершится ошибкой превышения времени ожидания.Укажите значение 00:00:00, если нужно предоставить контроллеру построений неограниченное время для поиска агента построения, который будет обрабатывать это определение построения.

Выполнение автоматических тестов и Анализ влияния на тесты

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

Задание основных параметров процесса построения

Для успешной реализации некоторых наиболее типичных сценариев часто требуется изменить параметры процесса построения в узле Основной.

Цель...

Параметр

Инструкции по применению

Запустите один или несколько автоматических тестов

Автоматические тесты

Выполнение тестов в процессе построения

Настройка соглашения, используемого для именования завершенных построений

Формат номера построения

Члены команды могут загружать полезные данные в имя каждого завершенного построения.Дополнительные сведения см. в разделе Работа с номерами построений.

Чтобы настроить данный параметр, введите текст непосредственно в это поле.Кнопка с многоточием (...) обеспечивает более удобный просмотр доступных токенов и изменение значения поля, открывая диалоговое окно Редактор формата номера построения.В этом диалоговом окне щелкните Макросы для отображения и вставки токенов, которые требуется использовать.

Указание, следует ли очищать рабочую область агента построения перед обработкой построения, и определение способа этой очистки.

Очистить рабочую область

В этом меню выберите одно из следующих значений:

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

  • Чтобы удалить все существующие выходные данные, но сохранить файлы исходного кода, которые не были изменены с момента последнего построения (путем выполнения команды tf get без параметра /all), выберите значение Выходные элементы.

  • Чтобы сохранить все существующие выходные данные и файлы исходного кода, которые не были изменены с момента последнего построения (путем выполнения команды tf get без параметра /all), выберите значение Нет.

СоветСовет
Если для процесса построения не требуется дополнительная очистка, выполняемая при выборе параметра Все, можно значительно уменьшить время выполнения построения, указав Нет (наиболее быстрый вариант) или Выходные элементы.Однако команда вероятнее всего пропустит дефекты кода некоторых типов (например, добавленные во время рефакторинга), при отмене очистки рабочей области.

Указание уровня подробности ведения журнала построения

Уровень подробного ведения журнала

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

Анализ кода для поиска общих дефектов

Выполнить анализ кода

В данном меню выберите одно из следующих значений:

  • Выберите Как настроено для анализа каждого проекта кода, в котором включена эта функция.

  • Выберите Всегда для анализа каждого кода проекта, независимо от того, включена ли эта функция в проектах кода.

  • Выберите Никогда, чтобы пропустить анализ кода.

Дополнительные сведения см. в одном из следующих разделов.

Сохранение символов для включения таких функций, как историческая отладка

Индексация источников и Путь для публикации символов

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

Определение дополнительных параметров процесса построения

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

Цель...

Параметр

Инструкции по применению

Укажите параметры агента построения

Параметры агента

Задание агентов построения для обработки построения, Определение временных пределов агента построения

Анализ влияния на тесты

Влияние анализов тестов

Выполнение тестов в процессе построения

Связывание каждого выполненного построения со всеми наборами изменений, внесенными в код, а также со связанными с ними рабочими элементами

Сопоставление наборов изменений и рабочих элементов

В большинстве случаев рекомендуется устанавливать для этого параметра значение Истина (значение по умолчанию).В первую очередь это относится к запланированным построениям (например, построениям, выполняемым ночью), поскольку для подтверждения исправлений или запуска дополнительных тестов часто используют успешно завершенные запланированные построения.

Каждое определение построения ведет собственную запись наборов изменений и рабочих элементов, которые ожидают связывания со следующим завершенным построением.Допустим, например, что набор изменений 382 построен с помощью построений A и B.Построение A помещено в очередь и успешно завершено.Построение B помещено в очередь и завершилось неудачей.Набор изменений 382 теперь связан с успешно завершенным построением А и неудачно завершенным построением В. В дальнейшем набор изменений 382 не будет связан со следующим завершенным построением А, но будет связан со следующим завершенным построением В.

Создание рабочего элемента при сбое построения

Создать рабочий элемент при ошибке

Если требуется, чтобы при сбое построения системой создавался рабочий элемент, установите для этого параметра значение Истина.

Отключение тестов

Отключение тестов

Выполнение тестов в процессе построения

Построение определенной версии исходного кода

Получить версию

Укажите спецификацию версии, которая определяет версию, предназначенную для построения.

Дополнительные сведения о версиях см. в разделе Синтаксис командной строки.

Пометка версии каждого скомпилированного файла во всех завершенных построениях

Пометка источников

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

Проверка кода по схеме слоев

Аргументы MSBuild

Включите в значение этого параметра следующую строку: /p:ValidateArchitectureOnBuild = true.

Дополнительные сведения см. в разделе Проверка кода по схеме слоев.

Задание аргументов командной строки, передаваемых в MSBuild

Аргументы MSBuild

Если для процесса построения необходима передача аргументов в MSBuild, введите их в параметре Аргументы MSBuild.Дополнительные сведения см. в разделе Справочник по командной строке MSBuild.

Задать разрядность версии MSBuild, которая будет использоваться для обработки построения

Платформа MSBuild

Укажите одно из следующих значений.

  • Укажите Авто, если MSBuild нужно запускать на ЦП, разрядность которого совпадает с разрядностью ЦП службы Служба построения Team Foundation, установленной на агенте построения.

  • Укажите X86, чтобы всегда обрабатывать это построение с помощью 32-разрядной версии MSBuild.

    Поскольку Visual Studio выполняется как 32-разрядное приложение, при обработке построения агентом построения, запущенным на 64-разрядной версии службы Служба построения Team Foundation, могут возникнуть проблемы.Проблемы такого рода можно решить, задав X86.

  • Укажите X64, чтобы всегда обрабатывать это построение с помощью 64-разрядной версии MSBuild.

Если задано это значение, следует убедиться (например, с помощью тега, как описано ранее в этом разделе), что построение обрабатывается агентом построения на 64-разрядном компьютере построения.В противном случае построение завершится ошибкой.

Помещение частного построения в очередь

Расположение для сброса частного построения

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

Организация выходных файлов в решении

Выходные данные указанного построения решения

Установите этот параметр в Истина, если нужно организовать выходные файлы решением.