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


Настройка номеров построений

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

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

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

Перед созданием задания, настраивающего номера построений, необходимо следующее:

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

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

    Важно!

    При настройке определенного файла TFSBuild.proj вы настраиваете все определения построений, связанные с ним.

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

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

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

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

Написание задания, формирующего номера построений

Чтобы создать задачу, можно либо напрямую реализовать интерфейс ITask, либо сделать класс наследником вспомогательного класса Task. Интерфейс ITask определяется в сборке Microsoft.Build.Framework.dll, а класс Task — в сборке Microsoft.Build.Utilitites.dll.

Чтобы настроить номер построения, созданный Team Foundation Build, необходимо вставить пользовательскую задачу в целевой объект BuildNumberOverrideTarget. Целевому объекту BuildNumberOverrideTarget необходимо выходное свойство с именем BuildNumber. Атрибут Output указывает на то, что свойство является выходным свойством пользовательской задачи. Дополнительную информацию о целях в Team Foundation Build см. в разделе Настраиваемые цели Team Foundation Build.

Написание своего задания

  1. Создайте библиотеку классов Visual C# с именем MyTask, которая содержит ваше задание.

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

  2. В меню Проект нажмите Добавить ссылку и выберите в диалоговом окне Добавить ссылку Microsoft.Build.Framework и Microsoft.Build.Utilities.

  3. Добавьте в файл class.cs следующий код.

    В этом примере создается наследник от вспомогательного класса Task и используются свойства класса DateTime UtcNow и Ticks для формирования номера построения.

    using System;
    using Microsoft.Build.Utilities;
    using Microsoft.Build.Framework;
    
    namespace BuildNumberGenerator
    {
        public class BuildNumberGenerator:Task
        {
            public override bool Execute()
            {            
                m_buildNumber = DateTime.UtcNow.Ticks.ToString();
                return true;
            }
            private string m_buildNumber;
    
            [Output]
            public string BuildNumber
            {
                get { return m_buildNumber; }
            }
        }
    }
    
  4. Выполните построение вашей библиотеки, чтобы создать файл MyTask.dll.

  5. Скопируйте готовую DLL в папку локальной рабочей области, в которой также содержится файл TFSBuild.proj вашего определения построения.

    Важно!

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

    Если ваш файл TFSBuild.proj хранился в системе управления версиями в каталоге по умолчанию, локальная копия файла находится в каталоге <корень>:\Local Workspace\TeamBuildTypes\MyBuildName на клиентском компьютере. Local Workspace — это локальная папка, с которой сопоставлен ваш командный проект, MyTeamProject — это имя вашего командного проекта, а MyBuildName — это имя, данное вами первому определению построения, связанному с файлом TFSBuild.proj.

Добавление DLL-файла в систему управления версиями

После создания DLL-файла, содержащего ваше задание, вы должны добавить его в Team Foundation (подсистема контроля версий). Вы можете использовать команды tf add и tf checkin для добавления и возвращения DLL-файла в то же место, где находится файл TFSBuild.proj вашего определения построения. Дополнительные сведения см. в разделах Команда Add и Команда Checkin.

Добавление и возвращение вашей сборки

  1. Нажмите кнопку Пуск, последовательно выберите Все программы, Microsoft Visual Studio 9.0, Набор средств Visual Studio и выберите пункт Командная строка Visual Studio 2008. Откройте локальную рабочую область, которую вы сопоставили с командным проектом, содержащим тип построения, которые вы хотите изменить.

    Например, введите в командной строке следующее.

    > cd c:\MyTeamProject

    где MyTeamProject — имя вашего командного проекта.

  2. Перейдите в каталог, где хранится файл TFSBuild.proj.

    Например, введите в командной строке следующее.

    c:\MyTeamProject>cd TeamBuildTypes\MyBuildName

    Где MyBuildName — имя определения построения.

  3. Чтобы добавить файл в Team Foundation (подсистема контроля версий), введите следующую команду.

    c:\MyTeamProject\TeamBuildTypes\MyBuildName> tf add MyTask.dll

  4. Чтобы вернуть ваш файл в Team Foundation (подсистема контроля версий), введите следующую команду.

    c:\MyTeamProject\TeamBuildTypes\MyBuildName> tf checkin MyTask.dll

    Вы также можете использовать Сред. Командный обозреватель для добавления вашего DLL-файла в Team Foundation (подсистема контроля версий). Дополнительные сведения см. в разделе Добавление файлов в систему управления версиями.

Регистрация задания

После создания задания вы должны зарегистрировать его, указав ваше задание в элементе UsingTask файла TFSBuild.proj. Элемент UsingTask сопоставляет задачу со сборкой, содержащей реализацию задачи. Дополнительные сведения см. в разделе Элемент UsingTask (MSBuild).

Регистрация задания путем изменения файла TFSBuild.proj

  1. Запустите Visual Studio.

  2. Извлеките файл TFSBuild.proj, который вы хотите изменить, из Team Foundation (подсистема контроля версий) и откройте его в XML-редакторе Visual Studio.

  3. Добавьте элемент UsingTask в файл TFSBuild.proj непосредственно после инструкции импорта.

    <UsingTask 
        TaskName="BuildNumberGenerator.BuildNumberGenerator" 
        AssemblyFile="MyTask.dll"/>
    
  4. Чтобы вставить задачу в целевой объект BuildNumberOverrideTarget, добавьте следующий XML-код, заключенный в теги <Target></Target>, в конец файла TFSBuild.proj.

    </ItemGroup>
      <Target Name = "BuildNumberOverrideTarget" >
        <BuildNumberGenerator> 
        <Output TaskParameter="BuildNumber" PropertyName="BuildNumber"/> 
        </BuildNumberGenerator> 
      </Target>
    </Project>
    
  5. Нажмите Файл, затем Сохранить для сохранения ваших изменений, и закройте TFSBuild.proj.

    Примечание

    После внесения этих изменений в файл TFSBuild.proj вы получите предупреждения о нарушении соответствия XML-схеме.Эти предупреждения можно спокойно игнорировать.

  6. Верните TFSBuild.proj обратно в систему управления версиями.

  7. После изменения файла TFSBuild.proj и сохранения изменений в Team Foundation (подсистема контроля версий) запустите определение построения.

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

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

См. также

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

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

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

Другие ресурсы

Построение приложения