Мы небольшая команда веб-приложений (менее 10). Наша среда состоит из 3 тестовых сред и производства для десятка приложений. Одна из наших сред тестирования предназначена для одобрения функций / исправлений (назовите ее Dev), а две другие - на скрытых средах тестирования, одна для Dev (назовите Pre-Dev) и одна для производства (назовите Pre-Production). Это помогает нам убедиться, что функция / ошибка достаточно проверена. Каждая функция проходит через эти 3 тестовые среды, прежде чем перейти к производству, а некоторые функции могут быть утверждены заказчиком в течение нескольких месяцев.
Нам нужна стратегия, которая позволит нам реализовать функции, которые остаются в тестировании в течение длительного времени, а также реализовывать краткосрочные функции и быстрые исправления ошибок во время наших итераций с минимальными издержками.
В настоящее время у нас есть одна ветвь для каждой среды, и мы используем запросы извлечения из наших ветвей Feature / Bugfix, чтобы поочередно распространять наш новый код по каждой ветке. При выпуске что-либо в ветке Pre-Prod будет сдавлено в Prod и выпущено. Мы смотрим на рабочий процесс на основе соединительных линий, но я думаю, что наше долгосрочное тестирование задерживает нас. У кого-нибудь есть идеи?