Поддержание структуры и приложений, основанных на этой структуре - PullRequest
0 голосов
/ 25 мая 2010

Я написал простой фреймворк (фактически набор библиотек) и ряд приложений, основанных на этом фреймворке. Эти фреймворк и приложения имеют свои собственные ртутные репозитории. Когда я обновляю репозиторий фреймворка, я копирую все файлы фреймворка в папки приложений по одной. Этот рабочий процесс вызывает у меня некоторые головные боли, например, я не знаю, когда в последний раз я обновлял фреймворк в приложении, и какая это версия.

У меня есть две идеи о лучших рабочих процессах, и я хотел бы узнать ваше мнение.

  • Инструмент сборки может обновлять текст версии в текстовом файле в папке фреймворка и экспортировать его в папки приложения.

  • Я могу использовать вложенные репозитории в репозиториях приложений (я не знаю, как это сделать)

Спасибо!

Примечание: моя кодовая база - PHP

1 Ответ

0 голосов
/ 25 мая 2010

Звучит так, как будто вам нужно «улучшить версию» вашего фреймворка. Если вы разрабатываете приложение в то же время, что и ваша среда, и особенно если вы разрабатываете НЕСКОЛЬКО приложений, то вы как бы просите головной боли.

Что вы должны сделать, это ограничить ваши приложения только каждым использованием определенной версии вашей платформы. Если вы хотите внедрить новую функцию в вашу инфраструктуру, вы добавляете ее в новую версию. После этого вы можете решить, какие приложения вы хотите обновить до новой версии, и сделать это как отдельный процесс.

Что бы вы ни делали, НЕ модифицируйте базовый код фреймворка существующей реализации фреймворка, если вы не собираетесь полностью обновить его до следующей версии. Кроме того, убедитесь, что каждая новая версия основана на самой последней версии - вы не хотите иметь несколько версий для разработки с различными функциями, поскольку ваша база кода (и требования к обслуживанию) будут расти экспоненциально!

РЕДАКТИРОВАТЬ: Читая ваш вопрос еще раз, я должен также упомянуть, что автоматизация любого типа процесса обновления не является хорошей идеей. Обновите ваш ствол фреймворка в одном репозитории, затем при необходимости вы можете вручную обновить его до новой версии в репозитории приложений. Но только если вам нужны функции или оптимизация, недоступная в текущей версии.

...