Похоже, существует так много разных способов автоматизации одной сборки/развертывания, что становится трудно разобрать все различные сценарии, которые люди поддерживают в учебных пособиях в Интернете. Поэтому я хотел представить вопрос толпе stackoverflow... что было бы лучшим способом создать автоматическую систему сборки и развертывания, используя следующую конфигурацию:
- Visual Studio 2008
- Проект веб-приложений
- CruiseControl.NET
Одна из первых вещей, которые я пробовал, заключалась в том, чтобы CCnet автоматически запечатывал вывод и копировал его на сервер, но затем это требует ручной работы для распаковки адресата. Однако, если мы попытаемся скопировать все файлы по отдельности, тогда это может занять много времени, если это большое приложение (сервер сборки живет за пределами центра обработки данных в нашем офисе... я знаю).
Также особый интерес представляет то, как мы будем поддерживать несколько сред, поскольку у нас есть dev, qa, uat, а затем, конечно, prod.
MSDeploy кажется действительно интересным, но если я неправильно интерпретирую литературу, не помогает в сценарии развертывания из вывода сервера сборки. Во всяком случае, кажется, что это будет полезно при развертывании одной сборки в ферме построения... но даже для развертывания из одной среды в другую нужно будет вручную изменить настройки конфигурации и URL-адреса веб-сервисов и т.д.