Нужна помощь в организации веток и рабочего процесса.
Предварительные условия: 10 разработчиков с git, 0 юнит-тестов, 10^5 строк кода.
В нашем репозитории есть ветка master
, которая действует как production
.
Каждая функция разрабатывается в отдельной ветке, которая также создает новый домен (branch.qa.com
).
Когда это будет сделано, команда QA просматривает изменения на branch.qa.com
, а затем объединяется с мастером и автоматически отправляется на рабочий сервер.
Проблема:
в ветке А может быть css
изменений. Он загружается в A.qa.com
и проверяется.
Тем временем разработчик разветвляет ветку B
из master
и работает над ней, модифицируя ту же css
.
Оба изменения кажутся законными для своих веток, но может случиться так, что изменение в B
на самом деле сломает что-то в A
.
Объединение A
с master
будет в порядке. Тогда слияние B
с master
плохо повлияет на изменения, сделанные A
.
Как вы исключаете такие ситуации? Как включить pre production
?
develop
наmaster
? QA завершили проверкуbranch.qa.com
, подошли к разработчику и попросили его объединить его сdevelop
. Затем они проводят еще один цикл контроля качества наdevelop.qa.com
. Когда они подтвердят, они снова побеспокоят разработчика, чтобы он объединилdevelop
вmaster
. Сложно автоматизировать. 06.03.2013develop
, а затем выполнить окончательный тест перед объединением веткиrelease
вmaster
? Это должно хотя бы в какой-то степени автоматизировать процесс. 06.03.2013