Как использовать SVN при разработке Web-сайтов?
Мучаемся уже не первый день, но задача кажется нам весьма распространённой, поэтому от отчаяния приходится запостить этот вопрос, к тому же надеюсь, этот топик сможет помочь последователям :)
У нас есть очень много сайтов и несколько программеров, которые постоянно херят друг-другу все наработки, а посему мы решили что нужно поднять SVN.
Когда начали гуглить вопрос — поняли, что похоже SVN в web-проектах не так уж и сильно распространён, а тем временем есть ряд отличий от разработки обычного ПО.
Итак, имеется: несколько программистов, большое число взаимосвязанных проектов, dev-сервер и production-сервер.
Хотелось бы перенести отладку полностью на dev-сервер, а на production иметь всегда рабочую версию. При этом доступ по ftp к production хотелось бы ограничить, чтобы невозможно было загрузить какие-то сторонние версии файлов, не загружаемые в репозиторий. Кроме того, нужно чтобы загрузка на production сервер происходила не по расписанию, а по какому-то действию программиста, например особый комментарий при commit (вдруг срочно фиксим адский баг).
Создавать ветки для разделения тестируемых и рабочих невозможно (или мы просто не понимаем как это делать...), поскольку на тестовом сервере все файлы должны быть в папке public_html, на которую настроен http-сервер.
Сейчас при каждом commit SVN выполняет update соответствующей папки на dev-сервере. Тоесть apache dev-сервера всегда видит последнюю сборку. Загружать актуальную версию на production-сервер приходится вручную через фтп, как автоматизировать эту загрузку — непонятно.
Заранее огромное спасибо, всем кто поможет. Обещаю, в случае найденного решения добавить его в пост и сделать, тем самым, этот пост полезным)