В настоящее время я работаю над автоматизацией / улучшением процесса выпуска для упаковки всего продукта моего магазина. В настоящее время продукт представляет собой комбинацию:
- Java серверная кодовая база
- XML-файлы конфигурации и приложений
- Оболочки и пакетные скрипты для администраторов
- Статически обслуживаемые HTML-страницы
- и некоторые другие вещи, но это большая часть
Все или большинство из которых имеют различную информацию о версиях, содержащуюся в них, используемую для различных целей. Часть процесса подготовки релиза включает в себя поиск, поиск и сбор информации (в скриптах) для обновления информации. Этот клей, который упаковывает продукт, кажется, был органически, точно и точно собран, и поддерживать его довольно ужасно. Например, некоторые методы Java создают объекты Date на время выпуска, аргументы для которых обновляются текстовой заменой, без проверки компилятором ... просто, urgh.
Я стараюсь не приводить примеры реального используемого программного обеспечения (например, CVS, SVN, ant и т. Д.), Потому что я хотел бы избежать «использования функции xyz для этого» и сосредоточиться больше на общих приемах. Я хотел бы обвинить в этом дрянной дизайн, но если бы мне пришлось начинать все заново, все еще используя различные технологии, я бы не был уверен, как лучше справиться с этим, помимо установления соглашений.
У меня есть вопросы, есть ли какие-либо передовые практики или советы и рекомендации по ведению и обновлению информации о версиях для различных технологий, типов файлов, платформ и систем контроля версий?