Создание выпуска на основе сборки

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

Если вы еще не создали путь выпуска, см. инструкции здесь.

Кроме того, если вы еще не настроили систему сборок, сделайте это.

Настройка процесса сборки

  1. Если у вас нет разрешений на редактирование определений сборок, получите их.

  2. В Visual Studio из Team Explorer подключитесь к командному проекту, в котором вы планируете работать (клавиатура: CTRL + 0, C).

  3. На странице Значок построений Сборки (клавиатура: CTRL + 0, B) создайте или отредактируйте определение сборки.

  4. На вкладке "Процесс" определения построения выберите конфигурацию, которую требуется использовать для данного выпуска (например: отладка или выпуск). Установите для параметра Сборка выпуска значение True. Выберите конкретную стадию, которая должна вызываться для этого выпуска, или оставьте это поле пустым, чтобы начать с первой стадии.

    Аргументы сборки выпуска

    Если раздел Выпуск не отображается:

    • В. Я использую шаблон по умолчанию. Какой шаблон процесса сборки мне следует использовать для управления выпусками, и как его добавить в TFS?

    • В. Я использую шаблон обновления. Какой шаблон процесса сборки мне следует использовать для управления выпусками?

    • В. Я использую пользовательский шаблон процесса сборки. Как добавить логику рабочего процесса для запуска выпуска?

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

  5. Задайте все прочие параметры, необходимые для процесса сборки, и сохраните определение сборки.

Настройка шаблона выпуска

  1. Если вы еще не установили Release Management Client для Visual Studio 2013 на сервере сборок, сделайте это. Настройте клиент управления выпусками для подключения к серверу управления выпусками.

    После установки клиента на сервере сборок перезапустите службы сборок. Это можно сделать из консоли администрирования Team Foundation Server.

  2. Из шаблона выпуска выберите определение сборки, которое установлено в качестве запускающего сборку, и установите флажок, чтобы разрешить процессу сборки запускать выпуск.

    Страница "Свойства" для шаблона выпуска

    Если поле для выбора определения сборки не отображается, необходимо добавить подключение к TFS в клиент управления выпусками. (Добавить подключение можно на вкладке Управление TFS раздела Администрирование.)

    После того как выпуск запущен, он проходит через шаги на выбранном этапе. Если для шагов Шаг приемки и Шаг развертывания для данного этапа не задано значение Автоматизирован, выпуск запущен не будет. Эти шаги необходимо пометить как автоматизированные в пути выпуска.

Вопросы и ответы

ms181355.collapse_all(ru-ru,VS.120).gifВ. Я использую шаблон по умолчанию.Какой шаблон процесса сборки мне следует использовать для управления выпусками, и как его добавить в TFS?

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

  1. Если у вас нет разрешений на добавление файлов или редактирование определений сборок, получите их.

  2. В Visual Studio из Team Explorer подключитесь к командному проекту, в котором вы планируете работать (клавиатура: CTRL + 0, C).

  3. В папке Диск:\Program Files (x86)\ Microsoft Visual Studio 12.0\ReleaseManagement\bin найдите нужный шаблон. Также можно загрузить в этот каталог шаблон из ZIP-файла, вложенного в эта публикацию блога.

    • TFS 2013

      • Значок TFVC TFVC: ReleaseTfvcTemplate.12.xaml.

      • Значок Git Git: ReleaseGitTemplate.12.xaml

    • TFS 2012: ReleaseDefaultTemplate.11.1.xaml

    • TFS 2010: ReleaseDefaultTemplate.xaml

  4. Добавьте шаблон в систему управления версиями. Желательно поместить шаблон в папку BuildProcessTemplates командного проекта.

  5. На странице Значок построений Сборки (клавиатура: CTRL + 0, B) создайте или отредактируйте определение сборки.

  6. На вкладке Процесс выберите Создать, чтобы выбрать шаблон для использования в файле, заданном для свойства Файл процесса сборки. (Вы должны иметь возможность перейти к только что добавленному шаблону и выбрать его.)

ms181355.collapse_all(ru-ru,VS.120).gifВ. Я использую пользовательский шаблон процесса сборки.Как добавить логику рабочего процесса для запуска выпуска?

О. Добавьте разделы в свой пользовательский шаблон процесса сборки, чтобы предоставить логику рабочего процесса. Файл фрагментов с этими разделами можно загрузить здесь. Используя эти фрагменты, добавьте в шаблон процесса сборки следующие аргументы: ConfigurationsToRelease, ReleaseBuild, ReleaseTargetStage, DropBuild.

Сохраните шаблон процесса сборки. Если вы используете систему управления версиями Team Foundation, верните его. Если вы используете Git, зафиксируйте и отправьте шаблон процесса сборки.

ms181355.collapse_all(ru-ru,VS.120).gifВ. Я использую шаблон обновления.Какой шаблон процесса сборки мне следует использовать для управления выпусками?

О. Сведения о том, что необходимо сделать, см. здесь.

ms181355.collapse_all(ru-ru,VS.120).gifВ. Можно ли развертывать компоненты приложения на разных компьютерах?

О.: Да. Создайте компоненты помощью клиента управления выпусками и добавьте их в свой шаблон выпуска.

Эти компоненты затем можно будет добавить в сборку.

Добавить компонент в шаблон выпуска

Когда появится окно "Компоненты", дважды щелкните компонент, который требуется добавить.

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

Страница "Компоненты", вкладка "Источник"

Символ \ в поле Папка сброса сборки означает, что сборка находится в корне папки сброса.

ms181355.collapse_all(ru-ru,VS.120).gifВ. Какие инструменты можно использовать для развертывания компонента?

О. Для каждого определяемого компонента на вкладке "Развертывание" можно выбрать инструмент, который будет использоваться. Дополнительные сведения о каждом из этих инструментов см. здесь.

Страница "Компоненты", вкладка "Развертывание"

Замените содержимое поля Аргументы содержимым, относящимся к развертыванию этого компонента.

Для использования пользовательского инструмента сначала необходимо добавить его на странице "Инвентаризация", а затем выбрать на вкладке "Развертывание".

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

ms181355.collapse_all(ru-ru,VS.120).gifВ. Почему выпуск не запустился?

Некоторые из возможных причин:

  • Если сборка настроена на запуск выпуска (Сборка выпуска = True), но флажок Можно ли запускать выпуск из сборки? для шаблона выпуска не установлен. Это фактически приводит к сбою сборки и, следовательно, выпуск также не запускается.

  • Если шаблон выпуска настроен на использование определения сборки, которое не может запускать выпуск (Сборка выпуска = False) или не содержит соответствующей логики выпуска.

  • Если шаблон выпуска содержит какой-либо компонент, имеющий тип "Независимые сборки".

  • Если для шагов Шаг приемки и Шаг развертывания для этапа, выбранного для запуска выпуска, не задано значение Автоматизирован, выпуск запущен не будет. Эти шаги необходимо пометить как автоматизированные для данного пути выпуска.

  • Если на компьютере, на котором запущен сервер Team Foundation Build, не установлен клиент управления выпусками.

  • Если время, необходимое для выполнения развертывания, превышает 10 минут. Изменить значение, присвоенное параметру Время ожидания развертывания, инициированного сервером TFS, можно на вкладке "Администрирования" на странице "Параметры".

ms181355.collapse_all(ru-ru,VS.120).gifВ. Что можно сделать с файлами конфигурации, для которых требуются разные значения в зависимости от целевой среды?

О. Используйте файлы конфигурации с токенами.

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

Например, если решение содержит файл с именем web.config, создайте копию этого файла и назовите ее web.config.token. Файл web.config не изменяется и используется, когда приложение запускается локально. Файл web.config.token содержит токены вместо фактических значений.

Например, если файл web.config содержит следующую строку:

<add key="SMTPHostServer" value="mysmtp.myserver.domain"/>

то файл web.config.token содержит следующую строку, где SMTPHostServer — это токен:

<add key="SMTPHostServer" value="SMTPHostServer"/>

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

ms181355.collapse_all(ru-ru,VS.120).gifВ. Как указать, какие файлы должны сканироваться для замены токенов переменными?

О. Для каждого определяемого компонента можно задать фильтр по расширению файла на вкладке "Переменные конфигурации".

Вкладка "Компонент, переменные конфигурации"

Агент развертывания, заданный для компонента, использует регулярные выражения для сканирования набора файлов, в которых токены необходимо заменить переменными. Если расширений файлов несколько, разделяйте их точкой с запятой (;).