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


Настройка Team Foundation Build для добавочного построения

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

При инкрементном построении повторно используются результаты предыдущего построения, которое хранится системой Team Foundation Build, что позволяет выполнить оптимизированное построение с учетом изменений, внесенных после последнего построения.

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

Предварительные требования

Перед выполнением этой задачи следует убедиться в наличии следующего:

  • Доступ к файлу TFSBuild.proj для типа построения, который планируется настроить.

    С каждым определением командного построения связан файл TFSBuild.proj, расположенный в папке $/MyTeamProject/TeamBuildTypes/MyBuildName в Team Foundation (подсистема контроля версий). MyTeamProject — имя нужного командного проекта. Это корневой узел для всех источников из командного проекта. MyBuildName — имя, присвоенное вами определению построения. Дополнительные сведения о том, как создавать типы построений Team Foundation Build, см. в разделе Создание базового определения построения.

  • Локальная рабочая область, содержащая файлы командного проекта и файлы построения на локальном компьютере.

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

Совет

Можно также сделать запускаемое построение инкрементным при постановке в очередь построения, включив в параметр Аргументы MSBuild строку /p:IncrementalBuild=true.Дополнительные сведения см. в разделе Помещение построения в очередь.

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

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

Получение локальной копии файла TFSBuild.proj

Перед изменением файла TFSBuild.proj с определением построения необходимо получить локальную копию.

Получение локальной копии файла TFSBuild.proj

  1. В меню Вид выберите команду Другие окна, а затем Обозреватель управления исходным кодом.

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

  3. Откройте папку командного проекта, содержащую нужный тип построения, и разверните папку TeamBuildTypes.

  4. Щелкните правой кнопкой мыши файл TFSBuild.proj и выберите команду Получить последнюю версию, чтобы скопировать последнюю версию файла.

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

Задание свойств в файле TFSBuild.proj

Чтобы указать инкрементное построение, необходимо задать свойство IncrementalBuild в файле TFSBuild.proj.

Задание свойств в файле TFSBuild.proj

  • IncrementalBuild — удобное свойство, которое задает для SkipClean значение true, для SkipInitializeWorkspace — true, а для ForceGet — false.

  • Выполняя полное построение, Team Foundation Build очищает файлы из папки промежуточного построения и папки источников в цели Clean. При инкрементном построении эта цель должна быть пропущена, так как упомянутые файлы должны храниться невредимыми для следующего построения. Для этого параметру SkipClean задается значение true.

  • В процессе полного построения Team Foundation Build удаляет старую и повторно создает новую рабочую область для очистки и синхронизации исходных файлов. В инкрементном построении эту цель также необходимо пропустить. Для этого параметру SkipInitializeWorkspace задается значение true.

  • В задаче Get Team Foundation Build по умолчанию извлекает новые исходные файлы и перезаписывает существующие файлы в рабочей области построения. Для извлечения только измененных файлов параметру ForceGet задается значение false.

    Чтобы задать для свойства IncrementalBuild значение true, добавьте определение PropertyGroup в конец файла TFSBuild.proj перед закрывающим тегом </project>.

       <PropertyGroup>
          <IncrementalBuild>true</IncrementalBuild>
       </PropertyGroup>
    

См. также

Основные понятия

Настраиваемые цели Team Foundation Build

Отправка изменений