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


Файл сведений Microsoft Web Deploy версии 3

По Харш Миттал

Общие сведения

Веб-развертывание — это средство для упрощения миграции, управления и развертывания веб-приложений, сайтов и серверов. Его можно использовать для упаковки веб-сайта, автоматически включая содержимое, конфигурацию, сертификаты и базы данных. Его можно использовать для синхронизации между IIS 6.0, IIS 7.x и IIS8.0 или для миграции с IIS 6.0, IIS7.x на IIS 7.x и более поздних версий. Созданные пакеты можно использовать для управления версиями, резервного копирования или развертывания.

Компоненты

Веб-развертывание включает следующие ключевые функции:

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

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

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

Миграция с IIS 6.0 и IIS7: Операция миграции предоставляет администраторам способ переноса сайтов или целых серверов из IIS 6.0 в IIS 7 и более поздних версий, IIS7 на IIS8, включая их параметры и содержимое. По сути, миграция — это способ синхронизации, отфильтрованный правилами миграции.

Синхронизация IIS 6.0/ IIS 7/IIS8.0 Операция синхронизации позволяет администраторам быстро синхронизировать сайт или сервер и развертывать изменения на существующих сайтах и серверах. Синхронизация позволяет синхронизировать один источник с одним назначением. Например, можно синхронизировать два пути к каталогам или два веб-сервера. Синхронизацию можно выполнить с локальными или удаленными объектами.

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

Анализ зависимостей от IIS 6.0 и более поздних версий Операция анализа позволяет администраторам проверка, какие компоненты установлены на исходном сервере. Таким образом, они могут определить, существуют ли функции, которые им понадобятся в IIS 7.0 или требуют более сложной настройки, чем просто копирование файлов.

Устранение неполадок и проверка. Для проверки операции параметр -whatif позволяет администраторам видеть, какие действия будут выполняться при выполнении операции. Это особенно полезно для выполнения синхронизации или миграции, когда необходимо проверить, какие изменения будут внесены перед их выполнением. Для устранения неполадок параметр -verbose позволяет администраторам получить подробные сведения о выполняемых операциях, а в случае сбоя — возможность диагностировать проблему.

Разностная синхронизация. Средство будет синхронизировать только изменения между источником и назначением.

Простое создание скриптов с помощью PowerShell. Распространенные задачи веб-развертывания можно автоматизировать с помощью командлетов PowerShell.

Замечания по установке

Требования

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

· Необходимо установить .NET 2.0 с пакетом обновления 1 (SP1) или более поздней версии.

Скачивание и установка

Существует два отдельных загружаемых пакета для этого средства; вам потребуется скачать соответствующий пакет. Вы можете скачать версии (x86) или (x64).

Важные проблемы, исправленные в этом выпуске:

Изменить: В предыдущих версиях веб-развертывания служба tempAgent всегда выполнялась через порт 80. В версии-кандидате веб-развертывания версии 3 этот порт можно изменить, указав новый порт в аргументе computername в формате имя_компьютера=имя_сервера:##, tempagent=true (где #### — используемый номер порта).

Изменить: Исправлена проблема с веб-развертыванием, из-за которой количество изменений не было точным для операций -whatif при использовании параметра -useCheckSum.

Изменение. Веб-развертывание версии 3 автоматически отключает параметры прокси-сервера. Ранее эта проблема возникала у некоторых клиентов, которым до начала синхронизации требовалось открыть интернет-Обозреватель и отключить параметры прокси-сервера.

Изменение. Добавлена поддержка привязок в стиле IPv6 в логике синхронизации сертификатов. В предыдущих версиях не удавалось правильно синхронизировать привязки IPv6.

Изменение. При синхронизации дочернего раздела реестра с сервером, на котором не существует родительского раздела реестра, теперь будут созданы родительские разделы реестра до дочернего раздела (без значений), а не происходит сбой синхронизации. Например, если синхронизация раздела реестра HKEY_LOCAL_MACHINE\SOFTWARE\MySoft\TestWeb1, где ключ MySoft не существует на конечном компьютере, то раздел MySoft будет создан на конечном компьютере, что позволит выполнить синхронизацию.

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

Известные проблемы

Проблема: Обновление веб-развертывания версии 3 нарушает синхронизацию SQLite, которая работала с помощью веб-развертывания версии 2

Исполняемые файлы конфигурации по умолчанию для веб-развертывания версии 3 (msdeploy.exe.config и msdepsvc.exe.config) были обновлены с .NET 2.0 до .NET 4.0, что приводит к этому перерыву.

Решение:

  • SQLite имеет версию, совместимую с .NET 4. Копирование sqlite3.exe из этого выпуска в каталог "%ProgramFiles%\IIS\Microsoft Web Deploy V3" устранит проблему.
  • Измените версию .NET по умолчанию для msdeploy.exe.config WebDeploy версии 3 на .NET 2.0, как показано ниже.
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

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

Служба удаленного агента принимает встроенные учетные данные администратора или администратора домена . Другие учетные данные администратора не будут работать и вызовут эту ошибку.

Решение:

Используйте встроенную учетную запись администратора или учетную запись пользователя домена (часть группы администраторов на локальном компьютере). Служба удаленного агента принимает встроенные учетные данные администратора или администратора домена. Если у вас есть настройка, не относяющаяся к домену, и вы хотите использовать учетную запись другого встроенного администратора, сделайте следующее:

  • Создайте отдельную группу пользователей MSDepSvcUsers на удаленном компьютере.
  • Создайте локальную учетную запись A как на локальном, так & удаленном компьютере.
  • Добавьте A в MSDepSvcUsers на удаленном компьютере.
  • Используйте учетную запись A для публикации. Это позволит вам выполнять публикацию без использования встроенной учетной записи администратора.

Проблема: Некоторые правила делегирования службы управления не работают после обновления веб-развертывания до версии 3.0.

Если сервер IIS 7+ использует общую конфигурацию, некоторые правила делегирования с удостоверением запуска от имени, для параметра SpecificUser, перестанут работать. Это связано с тем, что установщик веб-развертывания и скрипт .\AddDelegationRules.ps1 создают учетные записи пользователей локального компьютера и задают их в качестве удостоверения запуска от имени в определенных правилах делегирования. Эти учетные записи пользователей не будут распознаны на других компьютерах, поэтому правила не будут работать в общей конфигурации.
Решения.

· Если правила делегирования уже перезаписаны, повторно создайте затронутые правила вручную.

Проблема: Не удается выполнить публикацию на сайте, созданном с помощью SetupSiteForPublish.ps1 скрипта PowerShell или настроенной для публикации веб-развертывания с помощью параметра "Настройка публикации веб-развертывания..." Пользовательского интерфейса

Скрипт создания сайта, а также пользовательский интерфейс для настройки веб-развертывания для существующего сайта задает ДЛЯ URL-адреса публикации значение https://myserver:8172/msdeploy.axd. Это имя компьютера обычно доступно в сети. Однако он часто недоступен из-за пределов сети, поэтому его следует заменить общедоступным DNS-именем.

Решения.

  • Из скрипта: скрипт не предупреждает об этой ошибке. Замените URL-адрес правильным (как показано ниже) в созданном файле параметров.
  • В пользовательском интерфейсе введите общедоступное DNS-имя в поле "Укажите URL-адрес для подключения к серверу публикации https://myserver:8172/msdeploy.axd", например вместо введите https://some.publicDnsName.com:8172/msdeploy.axd.

Проблема. Пакет, созданный с помощью веб-развертывания версии 3, не работает с WebDeploy версии 2. Это приводит к system.NullReferenceException.

Решения.

  • Обновление целевого компьютера до веб-развертывания версии 3
  • Используйте веб-развертывание версии 2 для создания пакета.

Проблема. Пользовательский интерфейс веб-развертывания в диспетчере IIS выдает ошибку "Не удается привести объект типа"

Если на конечном компьютере установлено веб-развертывание версии 1.1, а на исходном компьютере установлена версия 2, может возникнуть эта ошибка. Это несовместимость между версиями.

Решения.

  • Обновление исходного компьютера до веб-развертывания версии 2
  • Удаление всех версий веб-развертывания на исходном компьютере

Проблема: Если вы синхронизируете компьютер IIS 6.0 с большим количеством сайтов (что приводит к тому, что метабаза превышает 500 МБ), средство может зависнуть и перестать отвечать на запросы.
Решение:

Создайте список сайтов и синхронизируйте каждый сайт по отдельности.

Проблема: Если выполняется синхронизация с компьютера с удаленным компьютером, на котором содержимое или общая конфигурация находится на третьем отдельном компьютере (т. е. UNC), удаленный агент не сможет правильно пройти проверку подлинности.
Решение:

Выполните синхронизацию вручную или используйте обработчик веб-развертывания.

Проблема: Если изменить параметры общей конфигурации (например, включить или отключить общую конфигурацию), после этого потребуется перезапустить удаленный агент.
Решение:

Перезапустите агент после внесения изменений в общую конфигурацию.

Проблема: Если вы синхронизируете веб-сайт, путь к которому находится %systemdrive%\wwwroot на целевом веб-сайте, где системный диск отличается (C: вместо D:), путь к веб-сайту будет развернут в месте назначения. Это означает, что если у вас есть общие средства конфигурации с разными системными дисками и вы полагаетесь на %systemdrive% , чтобы обеспечить работу содержимого, вы можете нарушить работу сайта на компьютере.
Решение:

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

Проблема: При попытке выполнить упаковку в существующий файл пакета это может работать неправильно.
Решение:

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

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

  • ASP.NET (требуется установка).
  • WebDAV (который по умолчанию не входит в Состав Windows Server 2008 и требует дополнительной установки).
  • Серверные расширения FrontPage (которые не входят в состав Windows Server 2008 по умолчанию и требуют дополнительной установки).

Решение:

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

Проблема: Пользовательские файлы доверия, указанные в параметрах политики Web.config корневого уровня и безопасности доступа к коду (CAS), не будут перемещены.
Решение:

Вручную укажите пользовательский файл доверия и файл политики CAS, security.config, в файле манифеста. Дополнительные сведения о создании файлов манифеста см. в файле справки.

Проблема: При перемещении сайта на сервер с другим уровнем доверия вы не получите предупреждение.
Решение:

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

Проблема: Если у вас есть пользовательский файл манифеста, указывающий на недопустимый источник, может не появиться сообщение об ошибке.
Решение:

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

Проблема: FTP и SMTP не включены в определения по умолчанию для webserver60.
Решение:

Если вам нужно синхронизировать эти расположения, вручную синхронизируйте их с помощью поставщика метаключа, т. е. metakey=lm/msftpsvc.

Проблема: Унаследованные свойства не переносятся при миграции сайта IIS 6.0. Распространенным примером является проверка подлинности, заданная на уровне сервера со всеми сайтами, наследующими это свойство. При переносе одного сайта он наследует параметры нового целевого сервера. Если параметры целевого сервера не совпадают, сайт может нарушиться. Это относится ко всем унаследованным свойствам, включая карты MIME, карты скриптов и т. д.
Решение:

Используйте флаг metadataGetInherited для копирования унаследованных параметров на уровень сайта при синхронизации или миграции веб-сайта в IIS 6.0. Или убедитесь, что параметры сервера совпадают на исходном и целевом серверах, или вручную задайте для сайта правильные параметры.

Устранение неполадок с установкой

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

msiexec /L msdeployinstall.log /I <path_to_msi>

msiexec /L msdeployinstall.log /I <path_to_msi>

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

Дополнительные сведения см. в разделе

Следующие дополнительные ресурсы для веб-развертывания доступны на IIS.net: