Как организовать выкладку сайта для тестов + работающий вариант?
Привет. Я работаю один, не в команде, поэтому сайты делаю по старинке.
На локальном варианте отлаживаю код, потом по ftp заливаю его на боевой сервер.
Но все изменилось, когда мне стало необходимо предварительно показывать работу сайта до обновления (удаленно) другому человеку.
Теперь делаю так: Делаю отладку в локале, заливаю по фтп на поддомен, если человека устраивает, то я уже синхронизирую поддомен с основным доменом. Вот тут неудобства. Надо помнить, какие именно файлы изменились…
Мне кажется это как-то допотопно. Может есть другие способы.
Я использую RealSync для отладки в окружении, приближенном к боевому и хуки в центральном git-репозитории для деплоймента. Этого достаточно для относительно простых проектов с одним сервером.
А есть ли решение для репликации папок на виртуальном хостинге? Тогда все было бы проще. Я выгружаю по ftp тестовый сайт на поддомен, потом, когда все устраивает, делаю полную копию в основную папку рабочего сайта.
С git'ом, очень удобно!
Можно настроить автоматическую генерацию поддомен под каждую ветку, это позволит отдельно тестить буквально каждую новую фичю!
Затем сливаем все в мастера и деплоим на продакшн :)
Ну что бы сделать автоматическую генерацию поддоменов, я думаю github не подойдет, нужно поднимать свой git сервер и настраивать apache (или что там у вас) так что бы поддомены смотрели на название веток git'а.
А там уже просто на, каждую фичю откалываете ветку пишете код, коммитите и сразу смотрите на нужном поддомене.
Ну а продакшен, все по стандарту, просто сливаем нужные ветки в master, правим конфликты если они есть, и делаем деплой в папку на которую смотрит домен рабочего проекта.
У нас еще и реальная база копируется раз в сутки на тесовый сервак на котором у нас git, для того что бы были максимально актуальные данные в базе и не было страшно что то положить или затереть при тестировании :)