Итак, мы только что получили наш новый сервер, который будет использоваться исключительно для разработки веб-сайтов и контроля версий.
Я установил Ubuntu (настольная версия 11.04, Мне нравятся интерфейсы, извините!) и установил Apache, PHP и MySQL - пока все хорошо.
Мы решили, что хотим использовать Git в качестве нашей системы управления версиями, поскольку у нас был хороший опыт работы с ней. Но ... Мы не уверены, как расположить нашу структуру. Надеюсь, ты сможешь нам помочь.
На данный момент у нас запущен один сервер разработки bbtsrv02
который является сервером Windows, на котором запущен XAMPP. Мы делаем все наши разработки на этом сервере, и это приводит к большому шуму и беспорядку, когда мы быстро что-то взламываем.
После того, как изменения были внесены локально, мы загружаем эти файлы на наш внешний сервер (размещенный кем-то другим) через FTP.
Это далеко не практично, над сайтом одновременно могут работать 3/5 разработчиков. Это вызывает конфликты и ... это неприятно.
Идея состоит в том, чтобы использовать bbtsrv02
как «зеркальный» сервер. Он будет содержать самый актуальный и действующий код. bbtsrv03
(новый сервер) будет нашим сервером разработки. У нас будет master
ветка, которая также будет содержать живой код, и каждый разработчик будет разветвлять свою версию для каждого изменения.
Но ... Дальнейшие размышления привели меня к выводу, что нам нужно настроить несколько виртуальных хостов для каждого разработчика, чтобы они могли закрыть главное репо и работать оттуда?
У меня нет большого опыта в этой области, но мой текущий план состоит в том, чтобы разбить основной жесткий диск на разделы и предоставить каждому достаточно места для развития.
Затем мы переносим наши изменения из нашей ветки в главную, а затем «копируем» их в bbtsrv02
и загрузите. Я, конечно, надеюсь, что смогу сделать несколько сценариев bash, чтобы сделать это за меня?
Один из вариантов - заставить всех разработчиков запускать свой собственный сервер LAMP (возможно, XAMPP). Таким образом, разработчики не наступают друг на друга, делая разные вещи. На вашем сервере разработки может быть 2 виртуальных хоста - один для самого последнего веб-сайта разработчиков и один для самого стабильного веб-сайта.
Оба сайта могут быть на git. Ваш сайт разработчиков будет репозиторием, на который нажимают все разработчики. Затем вы можете настроить ловушку после фиксации, чтобы переместить стабильную ветку в стабильное репо. Ваш стабильный сайт работает из стабильного репо.
Надеюсь, я вас не запутал, но это решение кажется лучшим
Мы делаем это (YMMV) следующим образом:
Каждый разработчик создает и выполняет базовые тесты кода на своем настольном компьютере / ноутбуке и т. Д. Они используют git локально для фиксации изменений, ветвления и т. Д. Когда они готовы к запуску, они предпринимают любые локальные действия, необходимые для очистки своей временной шкалы, а затем они нажимают .
Отправка отправляется на промежуточный сервер. Наш промежуточный сервер является зеркалом наших производственных серверов. Там мы проводим нагрузочное тестирование, обзоры кода и финальные проверки.
После прохождения этого уровня мы отправляемся на рабочие серверы.