Мы - новый магазин Agile, и мы столкнулись с проблемой, которую, я надеюсь, видели другие.
В нашем процессе магистраль считается веткой интеграции; он не должен быть выполнимым, но он должен быть стабильным и функциональным, чтобы другие могли его использовать. Мы создаем ветки Feature Trunk для новых разработок. Вся работа и тестирование происходит в этих ветках. Отдельная ветвь затягивается по мере необходимости, чтобы оставаться интегрированной с магистралью, как и другие функции, которые приняты и передаются. Но теперь у нас есть многочисленные тематические ветви. Каждый из них сфокусирован, имеет короткий жизненный цикл и выталкивается в магистраль по мере их завершения, поэтому мы не обсуждаем необходимость ветвей и очень стараемся быть гибкими.
Моя проблема возникает здесь: я требую, чтобы ответвления извлекались из магистрали в конце их жизненного цикла, а также проходили валидацию, регрессионное тестирование и обрабатывали все проблемы конфигурации, прежде чем отправлять в транк. После реинтеграции в багажник я прошу хотя бы сборку и автоматический тест на дым. Тем не менее, теперь я получаю откат на проверку магистрали. Аргумент заключается в том, что разработчики могут объединять код и не нуждаются в этапах проверки качества, поскольку они уже завершили работу в ветви функций. Поэтому дополнительное тестирование не требуется. Я попытался напомнить руководству о многочисленных случаях, когда «безмозглые» слияния проваливались. Их решение состоит в том, чтобы вместо сборки и регрессионного тестирования разработчик разобрал ветку Feature и только что слитый Trunk. Этот процесс в их сознании заменит регрессионное тестирование, о котором я просил. Так что вам нужно, когда вы реинтегрируете обратно в Ствол? С какими проблемами мы столкнемся, если уберем этот шаг и заменим его на diff? Является ли стоимость пребывания в Agile дополнительной работой по интеграции филиалов?
Спасибо за любой вклад.
LoneCM