Работа с удаленным репозиториями GIT

Все клиенты переживают за работоспособность своего сайта, особенно это касается больших интернет-магазинов, потому что это непосредственно влияет на прибыль. А если сайт не будет работать, то все усилия по продвижению и рекламе будут напрасны. А как показывает практика, только у 1 из 10 сайтов правильно организована структура рабочего процесса. Поэтому если вы хотите, чтобы ваш сайт стабильно работал и приносил доход, то базовая вещь, которая должна присутствовать – это распределенная система контроля версий. Но обо всем по порядку. Существует три основных способа работы над сайтом.

Сравнительная таблица методов внесения правок

Основной сайт Тестовая копия Система контроля версий GIT
Быстрое внедрение доработок на основной сайт
Возможность быстро вернуть сайт к рабочему состоянию
Пользователи сайта не видят ошибки на сайте во время внесения доработок
Проверка выполнения доработок до внесения на основной сайт
Параллельная работа нескольких специалистов на сайте
Выполнение нескольких задач параллельно
Диагностика поломок на сайте (определение, после какой доработки перестал работать функционал/появилась ошибка)

Работа на основном (боевом) сайте

Самый распространенный способ внесения доработок на сайт — это внесение их на основной работающий сайт. Работа сайтов по такому принципе характерна для некрупных проектов с небольшим количеством посещений, так как тестирование работоспособности сайта проводится непосредственно после внесения правок и исправления работоспособности сайта могут занять некоторое время. У данного способа есть как плюсы, так и минусы. Рассмотрим подробнее.

Плюсы

  • быстрое применение доработок.

Минусы

  • невозможность быстро вернуть сайт в исходный вид до внесения доработок;
  • реальные пользователи будут видеть ошибки в момент тестирования;
  • сайт может некорректно работать во время проведения доработок.

Стоимость

Работа на основном сайте не требует дополнительных расходов. Стоимость выполнения задач оценивает менеджер в соответствии с выбранным тарифом поддержки.

Работа на тестовой копии сайта

Данный способ подразумевает создание тестовой копии сайта и внесение всех доработок на ней. Этот способ отлично подходит для проектов с небольшим потоком задач, так как одновременно с сайтом можно работать только по одной задаче.

Плюсы

  • клиент может проверить выполнение доработки на тестовой версии сайта;
  • пользователи не видят ошибок на основном сайте.

Минусы

  • на публикацию доработок на основной сайт требуется дополнительное время.

Стоимость

Простой сайт Средний сайт Сложный сайт Крупный проект
Тип сайта Сайт-визитка Сайт услуг, каталог, витрина Интернет-магазин Сложные нестандартные проекты
Время работы 2-4 часа 3-5 часов 4-8 часов 6-12
Стоимость создания и разовой настройки** от 3 000 руб.* от 4 500 руб.* от 6 000 руб.* от 9 000 руб.*
Стоимость тестовой площадки*** 350 руб./мес. 500 руб./мес. 500-800 руб./мес. от 800 руб./мес.

* Стоимость зависит от выбранного тарифного плана поддержки.

** Зачастую тестовая копия сайта настраивается без перекачки всех мультимедийных файлов (изображения, видео, тяжелые документы, резервные копии).

*** Возможно создание тестовой копии на текущем хостинге/сервере клиента, если это технический возможно.

Оставьте заявку

Не смогли определиться с тарифом? Заполните форму, и наши менеджеры проконсультируют вас уже сегодня!

Оставить заявку
— обязательные поля

Работа через систему контроля версий GIT

Данный способ рекомендуется использовать для средних и крупных проектов с регулярным потоком задач. Главной особенностью является то, что над проектом одновременно могут работать неограниченное количество специалистов с абсолютно разными задачами. В случае поломки можно оперативно отменить доработку и вернуть сайт на предыдущую версию.

Плюсы

  • параллельная работа нескольких специалистов;
  • одновременная работа по нескольким задачам;
  • возможность быстро отменить доработку;
  • возможность диагностировать, на каком этапе перестал работать функционал/появилась ошибка.

Минусы

  • требуются знания по работе с системой контроля версий;
  • внесение доработок на сайт возможно только через GIT.

В случае, если на проекте работает несколько подрядчиков, или клиент сам производит какие-либо существенные доработки по функционалу в обязательном порядке необходимо внедрять систему контроля версий, а также корректно настраивать логи на сервере. В этом случае все доработки на сайт вносятся исключительно через GIT. При необходимости будет предоставлена инструкция.

Средний сайт Сложный сайт Крупный проект
Тип сайта Сайт услуг, каталог, витрина Интернет-магазин Сложные нестандартные проекты
Время работы 6-8 часов 8-12 часов 12-20
Стоимость настройки GIT от 9 000 руб.* от 12 000 руб.* от 8 000 руб.*
Оплата за каждого подключенного пользователя*** 300 руб./мес* 300 руб./мес* от 300 руб./мес*
Ежемесячная обязательная поддержка GIT 2 часа 3 часа от 3 часов

* Стоимость зависит от выбранного тарифного плана поддержки.

** Специалисты компании «Пиксель Плюс» не учитываются. Учитывается только подключение дополнительных пользователей — клиент, другой подрядчик и т.д.

*** Возможно создание тестовой копии на текущем хостинге/сервере клиента, если это технический возможно.

Как происходят изменения на сайте без контроля версий

Как показывает практика, у большинства сайтов сейчас работа построена следующим образом: если нужно сделать какие-то правки на сайте, то они делаются сразу на нем, считается, что так быстрее. Некоторые, более продвинутые, делают эти же правки на тестовой версии, но в этом случае возникают сложности с актуализацией файлов. В случае ошибки – часто просто разворачивается старый, но рабочий бекап. Однако все изменения сотрутся и работу придется выполнять снова.

Вернемся к сложностям использования тестовой версии. Безусловно, она дает некую безопасность, но приходится выполнять много ручной работы, а человеческий фактор всегда создает проблемы:

  • Если изменений было много, программисту придется собрать список всех измененных файлов. Но человек никогда ничего не забывает, все в порядке.
  • Программист работает в паре с другим программистом или верстальщиком и волей судьбы правят один файл? Не беда, тот, кто сохранился последний, тот и победил, а тем временем коллега мучается от осознания того, что всю его работу только что затерли.
  • Разработчик закончил огромную работу на сайте. Теперь нужно просто заменить все файлы на боевом сайте на новые. Но внезапно ему сообщают, что на сайте только что закончили работу по настройке ЧПУ, и, скорее всего, код разработчика работать не будет.

Самый простой и безопасный способ решения этих проблем – использование системы контроля версий, которую нужно настроить на сайте один раз.

Как работает GIT

Каждое логически завершенное действие программиста или верстальщика фиксируется как новая версия сайта. В результате чего сохраняется история изменения файлов и можно с легкостью переключаться между версиями и возвращать сайт к нужному состоянию.

В качестве системы контроля версий используем git. Сначала необходимо установить его на сервере. Для этого обязательно нужно иметь SSH-доступ. Кроме того, потребуется удаленный репозиторий. Он точно такой же, как на вашем сайте, но находится в другом месте, это позволяет работать с ним и рабочему, и тестовому сайту на равных.

Для каждой задачи создаем отдельную ветку разработки. Это позволит другим программистам работать с сайтом в своей ветке, выполняя свои задачи, не мешая вашей работе. Имя ветки обычно содержит номер задачи и краткое описание.

Выполнение логически завершенной задачи или части задачи фиксируется в системе контроля версий с коротким комментарием. Другие разработчики смогут быстро понять, что было сделано.

Для того чтобы перенести данные, нужно отправить их одной командой на удаленный репозиторий.

А вот схема работы процесса в одной картинке: