Герб Твери
СОЗДАНИЕ САЙТОВ В ТВЕРИ
делаем сайты, привлекаем клиентов
лучшая команда разработчиков в Твери
Кубок

Использование репозитория в разработке сайта

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

Использование репозитория в разработке сайта

Как устроена работа с сайтом через репозиторий

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

  • Prod (production) - основной сайт, который доступен пользователям интернета
  • dev, dev2, dev3… - несколько сред для разных разработчиков. Это могут быть и программисты, и верстальщики и контент-менеджеры.
  • Локальная среда разработки - сайт полностью копируется на локальный компьютер для увеличения скорости тестирования высоконагруженных проектов и удобства разработки в оффлайне.

Мы используем bitbucket.org, так как даже бесплатная версия позволяет организовать приватный репозиторий, но принципы работы одинаковые для всех систем контроля версий. “Боевая” (prod) версия сайта получает изменения только через bitbucket. У каждого разработчика своя ветка (branch) в репозитории, где он работает и изменяет файлы и базы данных согласно своей задаче.

Порядок действий разработчика

  1. Клонирует репозиторий с bitbucket.org
  2. Разворачивает и настраивает локальный сервер с Apache, MySQL, PHP.
  3. Обновляет свою ветку с удалённой оригинальной ветки (origin master branch)
  4. Выполняет необходимые действия
  5. Фиксирует изменения на сайте (commit)
  6. Отправляет изменения на bitbucket (push)

Далее правки и выполнение других задач уже начинаются с пункта 3.

Действия главного разработчика

Для Bitbucket мы написали и внедрили нестандартный скрипт, который вызывается триггером репозитория (Webhook). Этот код в автоматическом режиме даёт команду на обновление нужной среды разработки, закреплённой за внесшим изменения разработчиком. Далее правки и работы тестирует представитель заказчика. По приёмке работ главный разработчик вносит изменения на основной (prod) сайт:

  • Объединяет (merge) ветку разработчика с веткой master
  • Отправляет (push) результат объединения на bitbucket.org
  • В среде разработки prod получает изменения(pull origin master) с bitbucket.org

Зачем использовать репозитории

Несмотря на внешнее усложнение процесса, такой подход позволяет избежать проблем с совместным доступом к файлам и базам данных и исключает появление временного или непроверенного кода на основном сайте. Также такой подход повышает уровень безопасности - исключается прямой доступ исполнителей к файлам и базе данных.

Google