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


Расширенное корпоративное веб-развертывание

Джейсон Ли

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

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

Это часть серии учебников, основанных на требованиях к корпоративному развертыванию вымышленной компании Fabrikam, Inc. В этой серии учебников используется пример решения диспетчера контактов для представления веб-приложения с реалистичным уровнем сложности, включая приложение ASP.NET MVC 3, службу Windows Communication Foundation (WCF) и проект базы данных.

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

Общие сведения о сценарии

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

Как использовать этот учебник

  • Каждый из разделов в этом руководстве является автономным и рассматривает конкретную проблему или проблему, которая возникает в сценариях корпоративного развертывания. Вам не нужно работать с этими разделами в определенном порядке. Однако в этом руководстве рассматриваются некоторые сложные задачи. Таким образом, вам следует ознакомиться с основными понятиями и методами, которые рассматриваются в руководстве по веб-развертыванию в корпоративном руководстве, чтобы получить максимальную пользу от этого содержимого.
  • Это руководство включает следующие разделы:
  • Выполнение развертывания "Что если". Во многих сценариях необходимо определить влияние предлагаемого развертывания на целевую среду или любое существующее содержимое, прежде чем вносить какие-либо изменения. В этом разделе описывается, как можно запустить развертывание "что если" для создания файлов журналов и скриптов обновления базы данных, как если бы вы развернули содержимое в целевой среде, не внося никаких изменений. Анализ этих ресурсов поможет выявить потенциальные проблемы в преддверии динамического развертывания.
  • Настройка развертываний баз данных для нескольких сред. При развертывании проекта базы данных в нескольких местах назначения часто требуется настроить свойства развертывания для каждой целевой среды. Например, в тестовых средах база данных обычно создается заново при каждом развертывании, тогда как в промежуточных или рабочих средах вы будете с гораздо большей вероятностью вносить добавочные обновления для сохранения данных. В этом разделе описывается, как включить эти изменения свойств в логику развертывания, создав файл конфигурации развертывания для конкретной среды (SQLdeployment) для каждой целевой среды.
  • Развертывание членства в роли базы данных в тестовых средах. При повторном создании базы данных при каждом развертывании, например в рамках сборки непрерывной интеграции (CI) и развертывания в тестовой среде, обычно необходимо каждый раз настраивать членство в ролях базы данных. Например, обычно необходимо предоставить разрешения для удостоверения пула приложений, связанного с веб-приложением. В этом разделе описывается, как автоматизировать этот процесс, добавив скрипт SQL после развертывания в логику развертывания.
  • Развертывание баз данных членства в корпоративных средах. ASP.NET базы данных членства имеют различные характеристики, которые могут усложнить процесс развертывания. Например, при развертывании только для схемы база данных останется в нерабоспособном состоянии. В большинстве сценариев предпочтительнее создавать базу данных членства непосредственно в каждой целевой среде. Однако если вам нужно развернуть базу данных членства, в этом разделе описываются некоторые подходы, которые можно использовать для решения проблем, присущих вам.
  • Исключение файлов и папок из развертывания. В некоторых сценариях вам потребуется адаптировать содержимое веб-пакета к конкретным целевым средам. Например, при развертывании в тестовой среде может потребоваться включить полные версии библиотек JavaScript для поддержки отладки на стороне клиента, но при развертывании в промежуточной или рабочей среде использовать минифицированные версии библиотек. В этом разделе описывается, как исключить определенные файлы и папки из процесса создания пакета.
  • Перевод веб-приложений в автономный режим с помощью веб-развертывания. При развертывании решений в промежуточной или рабочей среде часто требуется перевести веб-приложения в автономный режим на время процесса развертывания. В этом разделе описывается, как добавить файлApp_offline.htm в веб-приложение в начале процесса развертывания и удалить его в конце. Пока файлApp_offline.htm находится на месте, все пользователи, которые просматривают веб-приложение, автоматически перенаправляются в файлApp_offline.htm .
  • Выполнение скриптов Windows PowerShell из MSBuild. Для многих сценариев развертывания требуются более сложные действия после развертывания, такие как добавление настраиваемых источников событий в реестр или настройка репликации между экземплярами SQL Server. Эти действия часто выполняются с помощью скриптов Windows PowerShell. В этом разделе описывается выполнение скриптов Windows PowerShell из файла проекта Microsoft Build Engine (MSBuild) в процессе сборки и развертывания.
  • Устранение неполадок процесса упаковки. Конвейер веб-публикации (WPP) определяет свойство MSBuild с именем EnablePackageProcessLoggingAndAssert , которое можно использовать для создания подробных сведений о процессе упаковки для проектов веб-приложений. В этом разделе описывается, что делает свойство и как его использовать.

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

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

  • Visual Studio 2010 и Team Foundation Server (TFS) 2010
  • MsBuild и командная сборка TFS
  • Службы IIS 7.5
  • Средство веб-развертывания IIS (веб-развертывание) 2.1
  • Служебная программа развертывания базы данных VSDBCMD.exe

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

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

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