Как изменять функционал/дизайн на работающем сайте?
Допустим у нас есть хорошо посещаемый сайт, на нем тусуются посетители, что-то создают, общаются. Нам нужно обновить функционал сайта, допустим поставить самописную баннерокрутилку. Естественно мы не можем упражняться на рабочем сайте, так как могут возникнуть внештатные ситуации. Как происходит этот процесс, где испытывается новый функционал: на другом сайте, на локальной машине? Как затем изменения переносятся на рабочий сайт?
Разделы форума
- Привлечение посетителей
- Интернет-магазины и корпоративные сайты
- Контент-проекты и сообщества
- Монетизация сайтов
- Реальные примеры, истории успеха
- Футурология и тренды
- Юридические и финансовые вопросы
- Тестирование сайтов, советы
- Технические вопросы
- Технические аспекты SEO
- Хостинг
- Реклама компаний и сервисов
- Объявления фрилансеров
- Работа, поиск исполнителей
- Сайты ищут рекламодателей
- Об этом сайте
Теги к теме Как изменять функционал/дизайн на работающем сайте?
Да, если делать по-нормальному, то нужна тестовая копия сайта, на которой обкатываются изменения. Не важно где, но лучше в похожем окружении. Потом, после тестирования, обновления выгружаются на боевой сервер. Можно сделать это ночью, или просто закрыть на некоторое время сайт от посетителей.
Процесс обновления можно автоматизировать, если использовать CVS или SVN. В этом я не разбираюсь.
Более того, я не обладаю высокой культурой разработки, и зачастую правлю и отлаживаю код прямо на сервере, что на самом деле может привести к очень серьезным последствиям.
Если правка не "очень велика"
1. Бэкап всего что рабочее (файлы, база). И беречь.
2. Локальный сервер с сайтом. На нем ставим, проверяем.
3. На поддомене (закрыт на индексацию, нигде не светится) проверяем.
4. С локального переливаем на рабочий. Лучше, как сказал Дима, ближе к ночи. Но до прихода поисковиков (смотрим по логам сервера их обычное появление).
Более того, я не обладаю высокой культурой разработки, и зачастую правлю и отлаживаю код прямо на сервере, что на самом деле может привести к очень серьезным последствиям.
Вчера вечером это можно было наблюдать воочию. :)
Какую цель преследуем?
Цель проста - если что повалится и полезут "бяки", то они не будут проиндексированы (важно, если скрипты будут выкидывать пути, расположение файлов, запросы к базе, названия таблиц).
Если совсем все повалится - то можно энным количеством страниц вылететь из индекса.
Я угадал происхождение этой темы :)
Приношу извинения, и надеюсь, что стадия активного строительства закончится в обозримом будущем. В будущем постараюсь поменьше удивлять.
Расскажу, как это делаем мы.
Рабочий сайт неприкосновенен и правки на нем не вносятся вручную — нет даже прав доступа у пользователей, которые коннектятся по ФТП или ССШ.
Когда нужно поправить баг или сделать какие-то модификации — снимается текущий дамп БД и загруженных файлов. Если сайты небольшие — то эти данные автоматом заливаются в свн. Все участники, которые будут править сайт обновляются из репозитория. У каждого теперь есть рабочая копия.
Далее каждый вносит необходимые правки (по дизайну, по функционалу, выводу и т.п.).
Каждый делает коммит (фиксирует изменения в репозитории). Обновляемся еще раз, чтобы у каждого был проект со всеми изменениями. Тестируем на локальных машинах. Если все правильно — выгружаем из СВН-а на демо-хост. Тестируем там. Нет багов, результат достигнут — выгружаем из СВН-а на рабочий сайт.
Процесс обновления происходит за считанные секунды. Соответственно незаметно для пользователей.
Вадим, у вас большие проекты? Или делаете так независимо от размера сайта?
Кстати, это хорошая иллюстрация к тому, почему поддержка стоит дорого -- техпроцесс-то ого-го.