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


Создание скриптов развертывания рабочих процессов построения, развертывания и тестирования

Для развертывания приложения с рабочим процессом построение-развертывать- теста необходимо создать скрипт развертывания и добавить их к построению.Скрипты развертывания файлов ЛЕТУЧЕЙ МЫШИ или CMD, копировать построение к компьютерам в лабораторной среде.Если построение содержит установочный пакет, также можно использовать сценарии развертывания для запуска установочный пакет.Когда создается рабочий процесс построение-развертывать- теста необходимо добавить команды в рабочий процесс, которые выполняют скрипты развертывания.При запуске рабочий процесс, контроллер построений, выполняющего эти команды в рабочей папке на указанных компьютерах в лабораторной среде.

См. описания свойств Практическое руководство. Создание рабочего процесса построения, развертывания и тестирования для среды SCVMM и Практическое руководство. Создание рабочего процесса построения, развертывания и тестирования для стандартной среды.В этих разделах рассматриваются как создать и использовать сценарии развертывания с рабочим процессом построение-развертывать- теста.

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

  • Написать скрипты развертывания

  • Создание скриптов развертывания

  • Создание рабочих папок

  • Добавить скрипты развертывания в рабочий процесс

    1. Встроенные переменные

Требования

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Test Professional

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

Способ выбран, чтобы установить приложение определяет основные задачи, которые необходимо выполнить в данном сценарии развертывания.Установить приложение может включать только копировать EXE-ФАЙЛА на клиентском компьютере или она может включать выполнение пакета развертывания, который установит файлы на нескольких компьютерах.В следующей таблице приведено описание этих задач для каждого типа развертывания.

Важное примечаниеВажно

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

Тип установки

Описание

Пакет развертывания веб-служб

Предупреждающее замечаниеВнимание
При развертывании приложения, которое использует IIS, сервер IIS в лабораторной среде должен быть настроены службы агента веб-развертывания прежде чем развертывать приложение

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

Файлы построения не имеет установочного пакета

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

Пакет установки

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

Скрипты развертывания необходимо скопировать этот пакет установки на мишеням механическим в лабораторной среде, а затем запустить пакет установки.Если скрипты развертывания выполняются в установочный пакет, он должен убедиться, что автоматическая установка.Запрашиваемый ввода пользователя установкой должно быть обращано вашими сценариями развертывания.Сюда входят учетные данные.Если скрипты развертывания не обрабатывают весь созданный, то вводимые пользователем данные, если они выполняются в пакет установки, развертывание приложения завершится ошибкой.Если не развертываете веб-приложения и требуется установочного пакета для развертывания, рекомендуется использовать установочный пакет InstallShield.Дополнительные сведения о InstallShield см. в разделе Windows Installer Deployment.

Написать скрипты развертывания

Это наиболее распространенные задачи унесенные сценариями развертывания:

  • Получает путь построения на контроллере построений.Можно отправлять их к сценарию развертывания в качестве аргумента команды.

  • Укажите путь развертывания.

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

  • Скопируйте пакет развертывания из пути построения в пути развертывания.

  • Выполните пакет развертывания в каталоге развертывания.

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

REM set build path
set buildlocation=%1

REM set deployment path
set targetdir="C:\deploy"

REM create deployment directory
if not exist %targetdir% (cmd /c mkdir %targetdir%)

REM copy build to the deployment directory
xcopy /c /y /e %buildlocation%\*.* %targetdir%

REM if you are using a deployment package you can run it here, after you copy it to your deployment directory

Создание скриптов развертывания

После создания скриптов развертывания необходимо проверить их в систему управления версиями, а затем настроить их таким образом, чтобы они копируются в выход построения.Чтобы создать скрипты развертывания, необходимо убедиться в том, что они сохраняются под проектом Visual Studio, а не только в решении.Это можно сделать в Visual Studio, выбрав скрипт развертывания в Обозреватель решений, затем в меню Свойства, изменение *** Выходной каталог копии *** к Всегда копировать.

Создание рабочих папок

Можно указать рабочую папку для каждого набора команд, которые можно добавить в рабочий процесс построение-развертывать- теста.При указании рабочую папку, контроллер построений выполняет команды, определенные в рабочей папке каждого компьютера, присвоен этой роли.Если не указать рабочую папку, то при добавлении команды в рабочий процесс построение-развертывать- тестов контроллер построений выполняет команды в directory− по умолчанию, работающий C:\Windows\System32.

Важное примечаниеВажно

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

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

Добавить скрипты развертывания в рабочий процесс

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

Если необходимо добавить команду, которая выполняется из окна запрос, как mkdir или выполните пакетный файл, необходимо запустить команду с помощью cmd /c.Например, команда cmd /c $(BuildLocation)\copyexe $(BuildLocation), где copyexe пакетный файл copyexe.bat, копирует исполняемый файл в локальный каталог на виртуальной машине.

встроенные переменные: при добавлении этих команд в рабочий процесс построение-развертывать- теста можно использовать встроенные переменные для определения того, некоторые пути и компьютеры.Можно также передавать эти переменные к скриптам развертывания.

  • $ (BuildLocation)
    Полный путь, по которому расположены файлы построения или удаление построения место хранения- если настройка в рабочем процессе построение-развертывать- теста.Эта переменная используется для доступа к файлы построения.

  • $ (InternalComputerName_<VM Name>)
    Имя компьютера для виртуальной машины в данной среде SCVMM.Эта переменная используется для доступа к компьютеру виртуальной машины, когда неизвестно имя компьютера узла.Если скрипт развертывания для настройки веб-сервера требует указать имя компьютера, можно передать скрипту это выражение в качестве аргумента.Например, если имя виртуальной машины для веб-сервера был VM1 и имя компьютера был MyWebServer, необходимо ввести $(InternalComputerName_VM1) в качестве аргумента для пользовательского сценария, а затем передал бы значение MyWebServer к скрипту.

  • $ (ComputerName_<VM Name>)

    ПримечаниеПримечание

    Сетевая изоляция в средах SCVMM. если используется сетевая изоляция для используемой среды, SCVMM, значение $(InternalComputerName_<VM Name>) одинаковы для экземпляра виртуальной машины в каждой копии среды $(ComputerName_<VM Name>), но значения различаются.

    Полное имя домена виртуальной машины.Используйте этот к компьютеру из переменной вне среды SCVMM.Может потребоваться передать эту переменную в качестве аргумента для настройки веб-сервера.Например, если имя виртуальной машины для веб-сервера VM1, можно получить доступ к полное имя домена виртуальной машины с помощью передачи аргумента $(ComputerName_VM1) к сценарию развертывания.

См. также

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

Настройка автоматических рабочих процессов построения, развертывания и тестирования