Корпоративное веб-развертывание

Джейсон Ли

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

Для перевода этих учебников на итальянский язык посетите страницу http://www.lucamorelli.it.

Проблемы с развертыванием на предприятии

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

  • Необходимо иметь возможность развертывать проекты в нескольких средах, таких как среды разработчика или тестовые среды, промежуточные платформы и рабочие серверы. Решение необходимо развернуть с разными параметрами конфигурации для каждой среды.
  • Необходимо одновременно развернуть несколько зависимых проектов в рамках одношагового или автоматизированного процесса сборки и развертывания.
  • Необходимо иметь возможность управлять развертыванием из автоматизированного процесса. Например, вы хотите использовать процесс непрерывной интеграции (CI) для развертывания веб-приложений в тестовой среде при извлечении нового кода.
  • Необходимо иметь возможность управлять процессом развертывания и задавать переменные развертывания извне Visual Studio, так как разработчики вряд ли будут иметь правильные параметры конфигурации или необходимые учетные данные для каждой целевой среды.
  • Необходимо развернуть проекты баз данных на основе схемы и сохранить существующие данные при последующих развертываниях.
  • Необходимо развертывать базы данных членства на нерегламентированной основе без развертывания данных учетной записи пользователя. Кроме того, может потребоваться обновить схему развернутых баз данных членства без потери существующих данных учетной записи пользователя.
  • При развертывании содержимого в различных целевых средах необходимо исключить определенные файлы или папки.

Общие сведения о подходе

В этом руководстве вместе с другими руководствами из этой серии используется этот высокоуровневый подход для решения проблем, описанных выше.

  • Используйте пользовательские файлы проекта Microsoft Build Engine (MSBuild) для управления общим процессом сборки и развертывания.
  • Это позволяет создавать и развертывать каждый проект в решении в рамках одной операции с помощью скриптов.
  • Параметры среды настраиваются с помощью простых файлов проекта для конкретной среды. В отличие от ориентированного на Visual Studio подхода, который предполагает использование конфигураций решений и профилей публикации для настройки развертываний для разных сред, этот подход позволяет настраивать процесс развертывания извне Visual Studio и управлять им. Это означает, что разработчикам не требуются дополнительные знания о строках подключения, конечных точках служб, учетных данных сервера и других переменных развертывания для целевых сред.
  • Файлы пользовательских проектов могут вызываться командой Team Build в рамках рабочего процесса Team Foundation Server (TFS). Это позволяет настроить автоматическое развертывание для сценариев CI.

Используйте средство веб-развертывания служб IIS (веб-развертывание) для упаковки и развертывания проектов веб-приложений.

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

Используйте служебную программу VSDBCMD.exe для развертывания и обновления схем баз данных.

  • VSDBCMD позволяет развертывать базы данных из файла схемы базы данных (DBSCHEMA), который создается при сборке проекта базы данных Visual Studio. В отличие от этого, функции развертывания баз данных, включенные в веб-развертывание, больше подходят для развертывания существующих баз данных из локального экземпляра SQL Server.
  • В отличие от функциональных возможностей Visual Studio для развертывания проектов баз данных, VSDBCMD позволяет развертывать разностные обновления в существующей целевой базе данных. Это позволяет сохранить все существующие данные при обновлении схемы базы данных.
  • Команды VSDBCMD можно выполнять из пользовательских файлов проекта MSBuild.

Карта содержимого

В этом руководстве содержатся темы, которые относятся к четырем main областям.

В этих разделах представлено справочное решение диспетчера контактов, а также описано, как скачать и настроить его на локальном компьютере:

В этих разделах представлены файлы проекта MSBuild, описывается, как можно создавать и использовать пользовательские файлы проектов, а также описывается процесс развертывания решения Диспетчера контактов:

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

Ключевые технологии

В разделах этого руководства для управления сборкой и развертыванием в основном используются следующие технологии:

  • Visual Studio 2010
  • MSBuild
  • IIS 7,5
  • Web Deploy 2.0
  • Служебная программа развертывания базы данных VSDBCMD.exe

Другие руководства из этой серии

Это часть серии из пяти учебников по веб-развертыванию корпоративного уровня. Ниже приведены другие руководства из этой серии:

  • Развертывание веб-приложений в корпоративных сценариях. Это вводное содержимое предоставляет контекстную фоновую информацию для серии учебников. В нем описывается сценарий учебника и показано, как задачи и пошаговые руководства, описанные в серии, вписываются в более широкий процесс управления жизненным циклом приложений (ALM).
  • Настройка серверных сред для веб-развертывания. В этом руководстве описывается, как настроить серверы Windows для поддержки различных сценариев развертывания, включая удаленное развертывание веб-пакетов с помощью службы веб-Deployment Agent (удаленный агент) или обработчика веб-развертывания и удаленного развертывания базы данных. В нем содержатся рекомендации по выбору подходящего метода развертывания для вашей среды, а также описывается, как использовать платформу веб-фермы (WFF) для репликации развернутых веб-приложений на все веб-серверы в ферме серверов.
  • Настройка Team Foundation Server для веб-развертывания. В этом руководстве описывается, как настроить TFS для поддержки различных сценариев развертывания, включая автоматическое развертывание в рамках процесса CI и запускаемые вручную развертывания конкретных сборок.
  • Расширенное корпоративное веб-развертывание. В этом руководстве описывается выполнение различных более сложных задач развертывания, таких как настройка развертываний баз данных для нескольких сред, исключение файлов и папок из развертывания и перевод веб-приложений в автономный режим во время развертывания.