Назад | Перейти на главную страницу

Управление веб-сайтами с помощью Git под Ubuntu

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

Я установил Ubuntu (настольная версия 11.04, Мне нравятся интерфейсы, извините!) и установил Apache, PHP и MySQL - пока все хорошо.

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

Текущая настройка

На данный момент у нас запущен один сервер разработки bbtsrv02 который является сервером Windows, на котором запущен XAMPP. Мы делаем все наши разработки на этом сервере, и это приводит к большому шуму и беспорядку, когда мы быстро что-то взламываем.

После того, как изменения были внесены локально, мы загружаем эти файлы на наш внешний сервер (размещенный кем-то другим) через FTP.


Это далеко не практично, над сайтом одновременно могут работать 3/5 разработчиков. Это вызывает конфликты и ... это неприятно.

Текущая идея

Идея состоит в том, чтобы использовать bbtsrv02 как «зеркальный» сервер. Он будет содержать самый актуальный и действующий код. bbtsrv03 (новый сервер) будет нашим сервером разработки. У нас будет master ветка, которая также будет содержать живой код, и каждый разработчик будет разветвлять свою версию для каждого изменения.

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

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

Затем мы переносим наши изменения из нашей ветки в главную, а затем «копируем» их в bbtsrv02 и загрузите. Я, конечно, надеюсь, что смогу сделать несколько сценариев bash, чтобы сделать это за меня?

Один из вариантов - заставить всех разработчиков запускать свой собственный сервер LAMP (возможно, XAMPP). Таким образом, разработчики не наступают друг на друга, делая разные вещи. На вашем сервере разработки может быть 2 виртуальных хоста - один для самого последнего веб-сайта разработчиков и один для самого стабильного веб-сайта.

Оба сайта могут быть на git. Ваш сайт разработчиков будет репозиторием, на который нажимают все разработчики. Затем вы можете настроить ловушку после фиксации, чтобы переместить стабильную ветку в стабильное репо. Ваш стабильный сайт работает из стабильного репо.

Надеюсь, я вас не запутал, но это решение кажется лучшим

Мы делаем это (YMMV) следующим образом:

Каждый разработчик создает и выполняет базовые тесты кода на своем настольном компьютере / ноутбуке и т. Д. Они используют git локально для фиксации изменений, ветвления и т. Д. Когда они готовы к запуску, они предпринимают любые локальные действия, необходимые для очистки своей временной шкалы, а затем они нажимают .

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

После прохождения этого уровня мы отправляемся на рабочие серверы.