Мне интересно, как лучше (для одинокого разработчика)
- разработать проект, который зависит от кода других проектов
- развернуть получившийся проект на сервере
Я планирую поместить свой код в svn и разделить код в качестве отдельного проекта. Есть проблемы с svn: externals, которые я не могу полностью оценить.
Я прочитал
но есть одна особенность php-проектов (и другого интерпретируемого исходного кода): нет конечного исполняемого файла, получаемого из ваших библиотек. Внешние зависимости, таким образом, всегда находятся в необработанном исходном коде.
В идеале я действительно хочу иметь возможность разрабатывать одновременно для одного проекта и проектов, от которых он зависит * .
Возможный способ:
Проверьте зависимость проектов в подпапке как рабочую копию ствола. Проблемы, которые я предвижу:
- Когда вы хотите развернуть проект, вы можете заморозить его зависимости, верно?
Код зависимости не должен заканчиваться как дубликат в репозитории проектов, я думаю.
* (обновление 1: я также предполагаю, что svn: ignore создаст проблемы, если я не смогу использовать символические ссылки, см. мой комментарий )
Я все еще ищу предложения, которые не требуют использования точек соединения. Это своего рода неподдерживаемый хак в WinXP, который может сломать некоторые программы *
Это подводит меня к последней части вопроса (поскольку одна влияет на другую): Как вы развертываете приложения с такими зависимостями?
Я посмотрел BuildOut для Python, но, похоже, он тесно связан с экосистемой Python (поиск и загрузка модулей Python из Интернета и т. Д.).
Я очень хочу узнать о ваших лучших практиках.