Может ли MSBuild упаковать и развернуть через MSDeploy для IIS 6 в одну команду? - PullRequest
1 голос
/ 05 ноября 2010

Вот что я хочу сделать:

  1. Построить существующий .csproj, который нацелен на «Пакет»
  2. Опубликовать пакет с MSDeploy на сервере IIS 6

Это для сборки и выпуска TeamCity, который я пытаюсь настроить за один шаг.Я мог бы создать собственный файл сборки, но я пытаюсь решить эту проблему без добавления каких-либо дополнительных настроек в приложение.

Существует множество примеров параметров MSBuild, которые могут выполнять эту публикацию через WMSVC - вот отличный - но это не будет играть в мяч с IIS 6. Существуют ли эквивалентные параметры, которые можно использовать, когда есть зависимость от MsDepSvc?Это вообще возможно, или у меня остался либо собственный скрипт сборки, либо сборка пакета с последующей публикацией сборки?

1 Ответ

2 голосов
/ 08 ноября 2010

Вы можете изменить существующий файл .csproj, чтобы добавить любую дополнительную необходимую цель (это просто файл MSBuild), а публикацию на сервере IIS6 можно выполнить с помощью различных поставщиков MSDeploy ( webServer60 , metaKey или contentPath через общий ресурс).

Хотя это можно было бы сделать, добавив Target в MSBuild вашего проекта, я бы порекомендовал разделить эти двадеятельность в две отдельные цели.Разделив их на две отдельные цели, вы все равно можете назвать их вместе msbuild /t:Package;Deploy, но вы также можете вызывать их независимо.

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

...