Мы уже давно боремся с этой проблемой, и, похоже, не можем найти идеального решения, которое бы удовлетворяло всем требованиям облегчения жизни разработчиков.
Сейчас у нас есть следующие настройки:
- Сервер разработки Linux (поскольку все, что мы производим, работает на linux и использует некоторые библиотеки linux-specix)
- Рабочие столы Windows (так как офисная сеть работает на Windows)
- У каждого разработчика есть домашняя папка на сервере разработчиков с виртуальным хостом, настроенным для запуска своего кода. Эта папка используется совместно с Samba.
- Zend Studio IDE, настроенная для использования этого расположения (в качестве сетевого диска) для работы над проектами
- Удаленная отладка, чтобы иметь возможность запускать приложения на сервере dev и иметь возможность пошагово выполнять код
Итак, главная проблема, с которой мы сталкиваемся, заключается в том, что все идет медленно ...
- Zend медленно индексирует проект, так как в нем есть довольно много файлов (включая внешние, такие как полная структура), которые необходимо передать через SMB.
- Удаленная отладка идет медленно, так как Zend studio должна извлечь файл, а затем отправить его обратно на сервер для запуска (работает «Локально, если доступно, иначе сервер»; в противном случае точки останова не работают)
- Tortoise SVN медленно получает статус файла для коммита (командная строка решает проблему, но гораздо менее удобна для пользователя, особенно с более сложными вещами, такими как разрешение конфликтов при объединении)
Разветвление для любого из решений, которое будет иметь несколько конфигураций сервера, поднимает проблему, заключающуюся в том, что существует вероятность наличия различных конфигураций повсюду, что создаст дополнительный уровень неопределенности и, возможно, ошибок в работе.
Разработка и отладка под Windows невозможны из-за зависимостей linux в коде (например, функции POSIX).
Так как организации решают эти проблемы? Какие настройки вы используете? С какими проблемами вы сталкиваетесь и как их решить?