У нас есть много разработчиков, работающих над проектом в Git. Сейчас мы развиваемся в отдельных отраслях, и тестирование проводится на этих филиалах. Проблема заключается в том, когда мы интегрируем эти ветви обратно освоить некоторые новые вопросы ползучести Причины:.Как управлять выпуском, чтобы минимизировать проблемы интеграции?
- Объединить и разрешения конфликтов вопросы.
- Это звучит далеко, но происходит слишком часто, что ошибка, обнаруженная в одной ветке, может быть захвачена испытанием, проведенным в другой ветке. Поэтому его можно было бы избежать.
- В нашей установке главная ветвь всегда доступна для пользователей для бета-тестирования. Поскольку мы интегрируем назад к мастеру довольно поздно в цикле выпуска, мы не получаем достаточного количества бета-тестирования.
В последнее время, что мы пытались:
Как только новая ветка объединяются в мастере мы объединить его обратно на отдельные ветви, пытаясь сохранить отрасли, как близко освоить, как это возможно. Это сводит к минимуму, но не решает проблему из-за этих двух причин -
Ее возможно, что отрасль, которая вызвала проблему фактически слиты в последний день релиза или позже в цикле.
Багги-филиал, так как он был объединен довольно поздно в цикле, также не получает никакого покрытия в бета-тестировании (мастер - ветвь бета-тестирования).
Какую наилучшую практику мы используем для минимизации этой проблемы? У меня есть это решение:
- Мы создаем следующую ветвь «освобождения» в начале цикла выпуска. Таким образом, мы создаем филиал релиза в понедельник, когда пятница является датой выпуска.
- Мы завершаем тестирование в отдельных филиалах и объединяем все, чтобы быть выпущенными изменениями в этой ветви «выпуска».
- Мы даем эту ветку «релиз» для бета-тестирования, а также продолжаем наши интеграционные тесты в этой отрасли.
- Если все в порядке, мы сливаемся обратно с этой ветви на мастер. Поэтому мы поддерживаем одну ветвь выпуска и мастер.
Это задерживает выпуск по количеству дней, которые мы решаем для тестирования интеграции, но, по-видимому, более дисциплинирован. Поскольку эта проблема не нова, пожалуйста, дайте свои предложения или укажите мне правильные рекомендации по этому вопросу.
Спасибо. Для точки 3) я также против идеи наводнения системы со слишком большим количеством ветвей релиза. Я думаю, что мы должны поддерживать только одну ветвь релиза и один мастер (отредактированный в вопросе), чтобы минимизировать накладные расходы. Кому-то в настоящее время все равно нужно объединить все, чтобы справиться с тем, чтобы другая релизная ветвь не могла показаться слишком переполненной. – user2645830
Также в GIT конфликты слияния разрешаются при поднятии запроса на перенос, а не при фактическом слиянии, поэтому его не так много накладных расходов. – user2645830