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


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

Обновлен: Ноябрь 2007

Вы можете настраивать 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, см. в разделе Создание определения построения.

    Aa395241.alert_caution(ru-ru,VS.90).gifВажное примечание.

    При настройке определенного файла 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 и используются свойства класса DateTimeUtcNow и 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 вашего определения построения.

    Aa395241.alert_caution(ru-ru,VS.90).gifВажное примечание.

    Перед тем, как эта структура каталогов появится на клиентском компьютере, местоположение в системе управления версиями файла 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.

    Aa395241.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

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

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

См. также

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

Управление построениями с помощью Team Foundation Build

Настройка построения Team Foundation