При получении MSDeploy, работающего над нашей сборкой/сервером интеграции - действительно ли обновление MSBuild необходимо?

Мы имеем то, что я думаю, довольно стандартный процесс сборки: 1. Разработчик: Регистрация кода 2. Сборка: Опросы repo, видит изменение и начинает сборку что: 3. Сборка: Обновления от repo, Сборки w/MSBuild, модульные тесты Выполнений w/nunit, 4. Сборка: создает пакет установщика

Наша служба безопасности позволяет нам вытягивать с сервера сборки, но не позволяет серверу сборки продвигать. Так мы обычно rdp в, d/l установщики, и выполненный их, который исключает гладкие услуги по развертыванию, таким образом, я должен был бы генерировать пакеты вместо этого. Я хотел бы использовать MSDeploy, за исключением того, что у нас есть следующие проблемы:

  1. Мы находимся на .net 3.5, и цель MSBuild (Пакет), который использует MSDeploy, требует 4.0. Есть ли что-нибудь, что я должен был бы установить кроме .net 4.0 RC для этого? (MSBuild был бы частью того обновления?)
  2. Когда я генерирую пакеты с MSDeploy, я вижу, что у меня нет всего 1 файла. Существует zip, deploy.cmd, SourceManifest.xml и SetParameters.xml. Каковы все другие файлы для, и почему они все не были бы в 'пакете'?
  3. Кажется будто можно создать пакеты, говоря системе посмотреть на рабочий сайт IIS. Но если пакеты являются сборкой от среды CI, не Вы в основном не повезло здесь? Такое чувство, что они разработали часть этого для небольших разработчиков, развертывающихся от их dev среды. Это - прекрасный вариант использования, но я интересуюсь, видят то, что общий опыт предприятия с инструментом

Какие-либо предложения?

13
задан Jeff D 9 April 2010 в 15:16
поделиться

1 ответ

Если вы не используете Visual Studio 2010 для своего приложения, я бы посоветовал вам выбрать один из следующих вариантов:

  1. Используйте msdeploy.exe
  2. Установите Visual Studio 2010 на свой сервер сборки и используйте сами задачи MSDeploy.

Позвольте мне объяснить это немного подробнее.

Вариант 1

Сам MSDeploy не зависит от MSBuild, поэтому вы можете установить его отдельно на свой сервер сборки, чтобы создавать пакеты за вас. Вы можете скачать его с здесь . После этого вы можете создать сценарий развертывания MSBuild с помощью задачи Exec для вызова msdeploy.exe с командой для создания вашего пакета.

О втором варианте

Файлы .targets, а также задачи для MSDeploy развертываются не с .NET framework, а с самой Visual Studio 2010. Поэтому, если вы хотите использовать любой из них, вам придется установить VS 2010 на свой сервер сборки.

Вы упомянули об использовании пакета target в своем сообщении. Вы не сможете использовать это, потому что эта цель является частью более крупного процесса сборки для проектов .NET 4. Что вы можете сделать, так это создать отдельный файл MSBuild ( отдельный, как не файл вашего проекта ), который использует MSBuild 4 для вызова задач , поставляемых с VS 2010 для веб-развертывания.

Здесь я конкретно отвечаю на ваш пронумерованный список.

  1. Вам придется установить Visual Studio 2010, поскольку эти задачи поставляются с самой VS, а не с фреймворком.
  2. Эти файлы используются для взаимодействия с вашим пакетом. Ваш пакет представляет ваше приложение в целом. Deploy.cmd вызовет msdeploy.exe, чтобы выполнить развертывание за вас. SourceManifest.xml и SetParameters.xml используются для настройки развертывания вашего приложения. deploy.cmd будет использовать эти файлы при вызове msdeploy.exe. Другими словами, если вы хотите настроить путь к месту установки веб-приложения, вы должны указать его в SetParameters.xml вместе с другими параметрами.
  3. Ваши права, настройки могут быть получены из IIS, но многие разработчики предпочитают использовать сервер приложений VS вместо IIS. Это мое предпочтение. В этом случае я бы посоветовал развернуть ваше приложение в среде, которую вы будете использовать в качестве шаблона. Выполните все необходимые настройки IIS, создайте пакет MSDeploy, а затем возьмите файл archive.xml из пакета и используйте его при создании собственного пакета. Другой вариант - настроить сервер IIS, на котором можно развернуть процесс сборки, затем использовать MSDeploy, чтобы просто синхронизировать файлы, составляющие ваше приложение, а затем еще раз создать пакет с этого сервера IIS.
26
ответ дан 1 December 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: