я бы делал такт:
на каждого разработчика создаем все домены проекта в http серверах, например
vasya.video.project.ru
vasya.travel.project.ru
petya.video.project.ru
petya.travel.project.ru
и т.д.
но не прописываем их в днс, а прописываем только в hosts(для простоты) на локале, далее файлы так организовываем
1. файлы из репы заливаем в рабочую директорию веб-сервера и настраиваем свою IDE на работу со своей песочницей
2. общие файлы(аплод, кеш и пр.) — делаем симлинки на основную директорию где все это есть
3. конфиги создаем индивидуально
т.о. у каждого своя песочница, при желании можно поправить конфиг и юзать собственную изолированную БД, или допустим вместо симлинка на кеш создать собственный кеш, при этом никто никому не мешает, но имеет общее окружение
Почему накладно установить http сервер и субд?
потому что вместе с этим нужно будет ставить:
redis
sphinx
IIP
видео утилиты (у нас свой видео хостинг)
прорву модулей для PHP
настраивать как-то выполнение утренних крон-задач(очень ресурсоемких) — т.к. иначе на следующий день просто не будет множества данных которые каждый день агрегируются
ну и плюс к этому нужно постоянно будет синхронизировать конфиги, модули, доп. ПО серверное, общие файлы
На мой взгляд идеальное решение это один сервер, на котором у каждого разработчика своя песочница, но окружение при этом общее, возможно мы скоро это организуем, но пока наше решение у нас работает
а вот создавать каждому верстальщику виртуальную машину — бред.
ну я согласен с вами, что удобнее конечно иметь каждому свою песочницу и одно окружение, я думаю мы скоро так и сделаем, просто на данный момент описанное решение оказалось легко достижимым и эффективным
у нас просто нет необходимости создавать бранчи, поэтому для нас этот подход работает, если все работают с одними файлами тогда конечно — создание бранчей, индивидуальное окружение, просто надо понимать чтобы бывают разные проекты и бывают разные, рабочие решения
как я уже сказал в нашем проекте задачи разработчиков и верстальщиков практически не пересекаются, на практике никаких конфликтов не возникает, тем более работает 3-4 человека
если какие-то другие условия, то я бы скорее всего не стал такой подход использовать
копирование .git и .gitignore нужно т.к. проект уже рабочий и он лежит себе в своей директории веб-сервера, при этом нужно файлы из репозитория скопировать с заменой в директорию вебсервера(при первичном подключении репы), можно конечно просто скопировать, а можно скопировать только .git и .gitignore и запустить git reset --hard — результат будет один и тот же
git reset --hard как и удаление файлов из git status нужно чтобы pull прошел без ошибок, если на сервере есть какие-либо правки(например срочно что-то правили, а только потом внесли в репу)
php
vk
работает уже года 2 так, не греется, проц i3
на каждого разработчика создаем все домены проекта в http серверах, например
vasya.video.project.ru
vasya.travel.project.ru
petya.video.project.ru
petya.travel.project.ru
и т.д.
но не прописываем их в днс, а прописываем только в hosts(для простоты) на локале, далее файлы так организовываем
1. файлы из репы заливаем в рабочую директорию веб-сервера и настраиваем свою IDE на работу со своей песочницей
2. общие файлы(аплод, кеш и пр.) — делаем симлинки на основную директорию где все это есть
3. конфиги создаем индивидуально
т.о. у каждого своя песочница, при желании можно поправить конфиг и юзать собственную изолированную БД, или допустим вместо симлинка на кеш создать собственный кеш, при этом никто никому не мешает, но имеет общее окружение
потому что вместе с этим нужно будет ставить:
redis
sphinx
IIP
видео утилиты (у нас свой видео хостинг)
прорву модулей для PHP
настраивать как-то выполнение утренних крон-задач(очень ресурсоемких) — т.к. иначе на следующий день просто не будет множества данных которые каждый день агрегируются
ну и плюс к этому нужно постоянно будет синхронизировать конфиги, модули, доп. ПО серверное, общие файлы
На мой взгляд идеальное решение это один сервер, на котором у каждого разработчика своя песочница, но окружение при этом общее, возможно мы скоро это организуем, но пока наше решение у нас работает
а вот создавать каждому верстальщику виртуальную машину — бред.
если какие-то другие условия, то я бы скорее всего не стал такой подход использовать
задачи не пересекаются по файлам