Нужна помощь в организации веток и рабочего процесса.
Предварительные условия: 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