Я использую 4 разных подхода в зависимости от клиентской среды:
rsync
от + до Windows, Linux, Mac (простой, не осуществляет дисциплину),svn
от + до Windows, Linux, Mac (простой, не осуществляет дисциплину),Существуют некоторые требования, которые управляют тем, в чем Вы нуждаетесь:
Я настоятельно рекомендую осуществить достаточно дисциплины для сохранения Вас от себя: развернитесь к серверу разработки, допускайте восходящие миграции и простое восстановление базы данных и предел, кто может обновить живой сервер к небольшому количеству ответственных администраторов (где dev сервер открыт для большего количества разработчиков). Также рассмотрите продвижение через задание крона (к серверу разработки), таким образом, существует ежедневный снимок Ваших возрастающих изменений.
Большую часть времени я нахожу это также svn
или rsync
установки достаточно с несколькими сценариями серверной стороны, особенно когда администраторский набор ограничен несколькими разработчиками.
Capistrano является самым хорошим инструментом развертывания, который я видел. Изменения архитектуры лишают возможности фиксировать конфигурации, таким образом, это работает снова?
Это будет, вероятно, звучать глупым, но... Я раньше имел этот вид проблемы все время, пока я не решил в конце, что, если я всегда развертываюсь на Linux, я должен действительно, по крайней мере, попытаться разработать на Linux также. Я сделал. Это была свободная боль. Я никогда не возвращался.
Теперь. Я не предполагаю, что это для всех. Но при установке VirtualBox, Вы могли бы выполнить установку Linux как локальный сервер на Вашем поле окон. Совместно используйте папку в виртуальной машине, и можно использовать все известное и программное обеспечение Windows, которому доверяют, и методы и иметь часть ума знания, что все работает хорошо над его целевой платформой.
Плюс Вы сможете вернуться в Capistrano (прекрасный выбор) для развертывания.
Лучший из всех, если Вы думали, что знали Linux / Unix ожидает, пока Вы каждый день не используете его на Вашем рабочем столе! Кто знает, что можно даже понравиться он :)
Можно установить svn:ignore
свойство на конфигурационных файлах, так, чтобы svn update
не стирает их и затем использует svn export /target/path/
избавиться от .svn
файлы в Вашем репозитории Подверсии.
Почему Вы не можете больше использовать capistrano?
Почему Вам не нравится svn-обновление?
Какие вещи в Вашем приложении требует специального развертывания?