Я хотел бы получить некоторую информацию о том, как может выглядеть установка для профессиональной разработки со следующими требованиями.
- несколько PHP-разработчиков (скажем PHP)
- каждый разработчик принадлежитв одну группу
- в каждой группе есть один руководитель группы, который делегирует задачи
- , каждый разработчик работает на одной машине с Windows 7
- и разрабатывается с использованием NetBeans или Eclipse
- каждый разработчик «владеет» одним виртуальным тестовым сервером, на котором он может запустить код
- Используется VCS: SVN
- есть промежуточный сервер, на котором продукт в конечном итоге тестируется до его получениявыпущено / развернуто
Я дал некоторые конкретные технологии, чтобы они не были слишком абстрактными и б / к. Мне также были бы интересны конкретные предложения для плагинов и т. д.
ТамВ этой настройке мне приходит в голову несколько вопросов.
1) Таким образом, каждый разработчик будет работать в личной ветке.
2) Эта ветвь извлечена в рабочей копии.
Теперь ... эта рабочая копия редактируется локально на ПК с помощью IDE разработчика и выполняется / тестируется на сервере.
Что было бы в этом случае лучшим / обычным способом сделать это?Я имею в виду - как вы можете получить отредактированный код на сервере, не вызывая чрезмерных накладных расходов?
Будет ли разработчик иметь код на своем локальном диске вообще?Или было бы лучше иметь IDE для записи на удаленном виртуальном сервере через туннель или по определенному протоколу?
3) Каждый день разработчик будет фиксировать свою работу в своей личной ветке, которая находится в центральном хранилище..
Есть ли лучшая практика относительно того, где хранилище должно быть расположено?Отдельный сервер?
4) Затем, после того, как разработчик завершил свою задачу, он или руководитель группы сливают новый код в соответствующую основную ветвь или магистраль.
Самая запутанная частьо том, что я написал между 2) и 3).Потому что пока я работал только с локальным сервером.Например, виртуальная машина с сервером, на котором выполняется код, который находится в общей папке, поэтому я смогу редактировать его напрямую.Я не уверен, как эффективно преодолеть разрыв, когда сервер теперь фактически удален.Эффективно означает, что нет необходимости загружать вручную через FTP, например.
Также приветствуются внешние источники или рекомендации книг.
edit
Мой вопроснацеленность на квази-стандарт / лучшую практику.Я думаю, что это в значительной степени стандартный сценарий разработки, поэтому должно быть «обычное» решение.
edit 2
Хорошо ... так что давайте попробуем с картинкой: ![the setup](https://i.stack.imgur.com/xvIsq.gif)
V - это виртуальный тестовый сервер для одного или нескольких разработчиков D. C и C '- две версии кода.Они должны быть максимально идентичными.
Мне приходят на ум два решения:
1: отредактируйте C, затем загрузите его в C ', затем выполните C', затем подтвердите C.
2: C не существует.Просто C ', который редактируется с помощью некоторой туннельной технологии, выполняется и передается.
Мои смелости говорят мне, что оба решения полуоптимальны.Итак, что было бы «профессионально» / наиболее эффективно / максимально быстро / наиболее удобно / максимально без трения / наименее подвержено ошибкам / передовой опыт / отраслевой стандарт?
Есть вопросы?