Опубликован: 25.03.2010 | Уровень: специалист | Доступ: платный
Дополнительный материал 4:

Практикум

Как настроить плановую сборку в Visual Studio Team Foundation Server

Область применения

  • Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
  • Microsoft Visual Studio Team System (VSTS) .

Описание

В Visual Studio 2005 Team Foundation Server не предусмотрена возможность плановых сборок, но с помощью команды TFSBuild разработчик легко реализует их самостоятельно. В этой статье подробно разбирается процесс настройки плановой сборки с помощью команды TFSBuild и планировщика задач Microsoft Windows®.

Примечание Пользователи TFS 2008 могут настраивать плановые сборки прямо из Visual Studio. Щелкните правой кнопкой мыши описание типа сборки в узле Builds дерева Team Explorer, выберите Edit Build Definition, щелкните Trigger и задайте график выполнения сборки.

Содержание

  • Задачи.
  • Обзор.
  • Порядок операций.
  • Прежде всего.
  • Шаг 1 - создание и тестирование сборки.
  • Шаг 2 - создание команды для запуска TFSBuild.
  • Шаг 3 - тестирование команды для запуска TFSBuild.
  • Шаг 4 - создание пакетного файла.
  • Шаг 5 - тестирование пакетного файла.
  • Шаг 6 - добавление плановой задачи.
  • Шаг 7 - тестирование плановой задачи.
  • Дополнительные ресурсы.

Задачи

  • Изучить, что такое плановая сборка.
  • Создать плановую сборку с помощью утилиты TFSBuild и планировщика задач командной строки Windows.

Обзор

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

Плановые командные сборки в TFS не поддерживаются, но эту проблему решает утилита TFSBuild, которая позволяет запускать сценарии сборки из командной строки. Используя любой планировщик задач, например, Windows Task Scheduler, можно запускать утилиту TFSBuild по определенному графику, создавая сборки через заданные интервалы времени.

Порядок операций

  • Шаг 1 - создание и тестирование сборки.
  • Шаг 2 - создание команды для запуска TFSBuild.
  • Шаг 3 - тестирование команды для запуска TFSBuild.
  • Шаг 4 - создание пакетного файла.
  • Шаг 5 - тестирование пакетного файла.
  • Шаг 6 - добавление плановой задачи.
  • Шаг 7 - тестирование плановой задачи.

Прежде всего

Убедитесь, что учетная запись, от имени которой выполняется служба сборки, обладает разрешением Start a build на сервере Team Foundation Server.

Шаг 1 - создание и тестирование сборки

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

  1. Создайте для тестирования сценария сборки проект Microsoft Windows® Forms.
  2. Убедитесь, что сборка проекта выполняется правильно.
  3. Верните проект в систему управления исходным кодом.
  4. Создайте сценарий командной сборки:
    • В Team Explorer щелкните правой кнопкой Team Builds и выберите New Team Build Type.
    • Заполните страницы мастера Team Build Type Creation Wizard.
  5. Проверьте работоспособность сценария командной сборки:
    • В Team Explorer щелкните правой кнопкой созданный тип сценария командной сборки.
    • В контекстном меню выберите команду Build Team Project <Имя вашего сценария сборки> .
    • Убедитесь, что тип выбран правильно, и щелкните Build.
  6. Просмотрите результаты сборки и убедитесь, что в процессе сборки не возникло ошибок.

Важно! Убедитесь, что учетная запись TFSService, от имени которой выполняются службы сборки, обладает полным доступом к общей папке для размещения результатов сборки, заданной в Team Build Type Wizard.

Шаг 2 - создание команды для запуска TFSBuild

Сформируем команду для утилиты TFSBuild, по которой будет запускаться сборка.

  1. Чтобы начать сборку, в утилиту командной строки TFSBuild необходимо передать ряд параметров:
    • Team Foundation Server - URL сервера TFS, куда возвращаются изменения в собираемых решениях.
    • Team Project - имя командного проекта, сборка которого выполняется.
    • Build Type - тип сборки, созданный на шаге 1.
    • Build Machine - имя сервера, который будет использоваться для сборки проекта. Это необязательный параметр; по умолчанию используется сервер, заданный в типе сборки.
    • Build Directory - путь к папке, в которой выполняется сборка. Это необязательный параметр; по умолчанию используется путь, заданный в типе сборки.
  2. Создайте следующую команду для выполнения сборки: TfsBuild start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки>

Если требуется переопределить имя компьютера и путь к папке сборки, команда выглядит так: TfsBuild start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки> /m:<ИмяКомпьютера> /d:<ПапкаСборки>

Шаг 3 - тестирование команды для запуска TFSBuild

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

  1. Откройте окно командной строки Visual Studio.
  2. Введите команду, созданную на шаге 2.
  3. Просмотрите полученный результат, чтобы убедиться в отсутствии ошибок и успешности выполнения сборки.

Шаг 4 - создание пакетного файла

Для планирования сборок удобно использовать пакетный файл.

  • Откройте Блокнот (Notepad) и введите следующую команду: "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TFSBuild" start <TFS-сервер> <КомандныйПроект> <ИмяТипаСборки>

    Обратите внимание, что здесь задан полный путь к файлу TFSBuild.exe, чтобы его можно было запускать из окна командной строки Windows. Если требуется переопределить компьютер и папку сборки, команда в пакетном файле будет выглядеть так: "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\TFSBuild" start <КомандныйПроект> <ИмяТипаСборки> /m:<ИмяКомпьютера> /d:<ПапкаСборки>

  • Сохраните файл с расширением .bat, например, batchbuild.bat.
  • Поместите файл в папку сборки в системе управления исходным кодом TFS, например, Main\Scripts.

Шаг 5 - тестирование пакетного файла

Проверим работу пакетного файла.

  1. Откройте окно командной строки Windows.

    Примечание Не открывайте окно командной строки Visual Studio. По умолчанию планировщик Windows будет выполнять пакетный файл в окне командной строки Windows.

  2. Введите имя пакетного файла.
  3. Убедитесь, что сборка выполняется без ошибок.

Шаг 6 - добавление плановой задачи

На данном этапе вы добавите задачу для регулярного запуска сборки.

  1. Откройте панель управления.
  2. Щелкните дважды значок Назначенные задания ( Scheduled Tasks ), затем щелкните Добавить задание ( Add Scheduled Tasks ).
  3. На первой странице Мастера планирования заданий ( Scheduled Task Wizard ) щелкните Далее ( Next ).
  4. Щелкните Обзор (Browse) и выберите пакетный файл, созданный на шаге 4. Затем щелкните Далее ( Next ).
  5. Введите имя задачи и выберите частоту сборки, например, Ежедневно ( Daily ). Затем щелкните Далее ( Next ).
  6. Задайте Время начала ( Start time ) и Дату начала ( Start date ). Щелкните Далее ( Next ).
  7. ведите имя и пароль учетной записи с разрешением Start a build и щелкните Далее ( Next ).
  8. Щелкните Готово ( Finish ).

Шаг 7 - тестирование плановой задачи

Убедитесь, что сборка выполняется правильно и в заданное время.

  1. Дождитесь момента, когда должна быть выполнена плановая задача, или откройте панель управления, дважды щелкните значок Назначенные задания ( Scheduled Tasks ), щелкните правой кнопкой свою плановую задачу и выберите команду Запустить ( Run ).
  2. Откроется окно командной строки, и начнется выполнение сборки.
  3. Если вы в момент выполнения задачи не имеете доступа к компьютеру, на котором выполняется сборка, ее результаты можно проверить позже:
    • В Team Explorer щелкните дважды All Build Types.
    • Просмотрите список сборок и проверьте, соответствует ли время их выполнения заданному графику.

Дополнительные ресурсы

Илья Макаренко
Илья Макаренко

Добрый день.

Вопрос №1

Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте?

Вопрос №2

Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже?

Александр Медов
Александр Медов

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

Иван Циферблат
Иван Циферблат
Россия, Таганрог, 36, 2000