2009-12-29 3 views
16

Знаете, следующее «большое» и «деловое» дело от Microsoft.Мнения о MSDeploy

Это только я, или это действительно трудно для людей? Основные моменты являются (IMO):

  • Абсолютно загадочными синтаксис (-skip:objectName=filePath,absolutePath=App_Offline.* только для пропуска App_Offline.html)
  • манифеста как после того, как думали
  • Отсутствие подробной документации
  • Ни слова о расширяемости (для нескольких кроме сообщения блога там). Кроме того, все эти расширения, разработанные в большие усилия должны быть зарегистрированы в GAC и реестра
  • Waaay слишком низкого уровня (метаданные/metakey; все это IIS джаз)
  • Нет интеграции с MSBuild

Конечно, MSDeploy и MSDeployAgent достаточно эффективны, но действительно ли они должны быть , что комплекс для относительно простых задач?

+2

Поздно к партии, но пропуская файлы имеет синтаксис ярлыка '-skip: File = App_Offline. *'. В [документах указаны другие ярлыки] (http://technet.microsoft.com/en-us/library/dd569089%28v=ws.10%29). –

ответ

10

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

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

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

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

В качестве упоминания упоминаются также задачи MSBuild в 2010 году (теперь функция развертывания веб-сайта реализована с использованием msdeploy), что также позволяет использовать настоящую непрерывную интеграционную среду для VSTeamSystem - наличие команды который может фактически выполнить полное развертывание сети, поскольку его последний шаг очень увлекательный (и страшный, предоставленный!).

+0

вздох ... Шесть лет ... не адресовано ... –

1

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

Я действительно рассматриваю отряхивая свои навыки письма и написать короткую книгу на нем, так как есть вероятность для него рынок ....

4

На самом деле есть MSBuild задача для MSDeploy. Они будут поставляться с .NET 4/Visual Studio 2010.

+1

ссылка? Справка? –

+0

@TimAbell - Все материалы «Web Publish» в VS 2010 (и более в VS2012) основаны на MSDeploy. –

3

Хотя немного грубо по краям, мне очень понравилось MSDeploy. Использование его для синхронизации веб-серверов в ферме очень полезно, поскольку оно является эффективным (только копирование изменений) и заботится о фактических настройках IIS в дополнение к файлам содержимого. Похоже, что MSDeploy является строительным блоком для различных сценариев и использования. Кроме того, как упоминалось ранее, для MSDeploy в .NET есть задача MSBuild. Я воспользовался этой задачей MSBuild, чтобы упростить развертывание моих веб-приложений из TeamCity. Я уже писал здесь здесь:

Web Deploy (MS Deploy) из TeamCity - http://www.geekytidbits.com/web-deploy-ms-deploy-from-teamcity/

1

MSDeploy определенно имеет прикосновение PowerShell к нему: власть над простотой, а не worse is better.

Нет альтернативы Windows, но вы можете гибридизовать некоторые свои возможности для автоматического развертывания. Например:

  • Скомпилировать ваше решение с командой города и MSBuild
  • Используйте MSDeploy, чтобы превратить ваш сайт и web.configs на сервере сборки
  • вручную FTP в ZIP-файл вашего сайта (это не поддержка FTP)
    • В качестве альтернативы используйте возможности удаленного развертывания. Для этого требуется порту 8172 открытых, много изменений безопасности и, насколько я знаю, никаких уступок для балансировки нагрузки
  • Используйте MSDeploy на живом сайте для синхронизации не меняет

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

3

Я недавно приступил к реализации трубопровода развертывания, и я нашел ниже ссылок весьма полезным: команды

Также я использовал эти ссылки:

  • Видео о MSBuild на dnrtv.com
  • Microsoft Press книгу под названием "Внутри Построить двигатель Microsoft®: Использование MSBuild и Team Foundation Build" который вы можете купить PDF версию с Oreilly

Наконец, книга «Непрерывная доставка» дала мне хорошие идеи о линии развертывания, хотя книга не фокусируется на MSDeploy, но это действительно стоит прочитать.

+0

Я по-прежнему предпочитаю принятый ответ от 2,5 лет назад. –

+0

@AustinHenley Я предпочитаю этот ответ, прежде чем вы прокомментировали. Этот ответ добавляет много полезной информации о технологии, которая известна тем, что она плохо документирована и трудно учится. – bwerks

Смежные вопросы