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


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

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

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

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

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

  1. В Сред. Командный обозреватель щелкните командный проект, в котором необходимо определить построение. 

  2. В меню Построение выберите Новое определение построения.

  3. В поле Имя определения построения введите имя.

  4. Перейдите на вкладку Процесс.

    В группе Шаблон процесса построения по умолчанию выбран шаблон по умолчанию.

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

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

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

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

    Дополнительные сведения см. в разделах Задание триггеров и причин выполнения построения, Работа с рабочими областями построений и Создание базового определения построения.

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

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

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

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

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

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

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

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

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

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

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

  • работа ведется над командным проектом, который был создан на основе одного из двух шаблонов процессов, входящих в состав Visual Studio ALM: MSF для гибкой разработки программного обеспечения версии 5.0 или MSF для оптимизации процесса CMMI версии 5.0;

  • шаблон по умолчанию не был удален или настроен одним из членов команды.

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

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

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

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

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

$/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), выберите значение Нет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Цель...

Задаваемый параметр

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

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

Аргументы MSBuild

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

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

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

Аргументы MSBuild

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

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

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

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

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

Копирование исполняемых и прочих двоичных файлов, созданных в результате построения проектов, в папку размещения

Копировать файлы вывода в транзитный каталог

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

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

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

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

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

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

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

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

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

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

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

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

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

Платформа MSBuild

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

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

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

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

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

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

См. также

Задачи

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

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