В месте, где я работаю, были похожие проблемы, но, возможно, не такие сложные.
Мы отреагировали, полностью исключив концепцию патча.Мы перестали вносить исправления и начали просто устанавливать все приложение (даже если мы сделаем небольшое изменение).
Теперь у нас есть готовые установочные комплекты для круиз-контроля, которые содержат временную метку сборки в имени установочного комплекта.Это артефакт сборки Cruise Control.
Cruise Control автоматически устанавливает их на тестовом сервере и запускает некоторые автоматические тесты дыма.Затем мы запускаем ручные тесты на тестовом сервере.Затем мы устанавливаем артефакт на промежуточный, а затем на производственный сервер.
Избавление от исправлений привело к тому, что некоторые люди начали болтать: «Разве это не расточительно, если вы просто меняете пару вещей?»и «почему вы перезаписываете все программное обеспечение просто для того, чтобы что-то исправить?»
Но правда в том, что хороший контроль исходного кода, автоматическая сборка установочного комплекта и одношаговая установка сэкономили нам массу времени.Установка занимает несколько секунд, но мы можем сделать это гораздо чаще и с меньшими затратами труда разработчиков.