Что касается серверной части, у вас есть несколько возможностей. Вы можете использовать vHosts, когда у вас есть Apache, с двумя различными DocumentRoots: один для живой версии и один для разработки.
Или у вас может быть среда разработки на вашем локальном компьютере, а затем живая (+ промежуточная) на вашем выделенном сервере / веб-пространстве.
В нашем текущем проекте у нас есть трехуровневая система:
разработка, постановка и жизнь. Staging и live - это практически одно и то же, так что я могу устранить любые проблемы при переходе с dev на staging. Это дает мне еще один уровень безопасности перед тем, как начать работу, и в конце концов замечает, что что-то пошло не так.
Учитывая рабочий процесс развертывания, вы должны создать конфигурацию приложения, в которой вы можете определить несколько сред приложений (разработка и производство), которые автоматически выбирают свою среду на основе URL-адресов, определенных переменных среды или чего-то еще. Так, например, в Zend Framework это поведение, управляемое конфигурацией, встроено в ваши приложения. В вашем файле config.ini у вас есть шаблон, который выглядит следующим образом:
[production]
[staging : production]
[testing : production]
[development : production]
Здесь вы можете определить различные опции, скажем, для подключения к вашей базе данных, т.е.
Таким образом, когда вы проверяете свои изменения на компьютере разработчика в subversion и выполняете развертывание на вашей действующей системе, вам не нужно менять конфигурацию. Это должно просто работать.