Как правильно организовать работу нескольких разработчиков и тестового сервера?
Добрый день. Не совсем понимаю, как выстроить правильно работу учитывая свою конфигурацию.
1) прод prod
2) тестовый test
3) локальные версии на пк разрабов local-branch-1,2,3,4...
Допустим один из разрабов реализует задачу у себя на пк в отдельной ветке local-branch-1, смерженной с test, когда он закончил, то он комитит изменения и льёт их опять на test, для тестирования.
Следующий разработчик в этот момент выливает свою локальную ветку local-branch-2 на test
В итоге test включает в себя результаты local-branch-1 и local-branch-2 соответственно.
local-branch-1 - оттестирована и принята её нужно залить на prod, а вот local-branch-2 наоборот ещё тестируется.
Получается ветку test мы не можем смерджить с мастером так как она включает в себя local-branch-1 и local-branch-2
Возникает вопрос, как выходить из этой ситуации? брать конкретную ветку local-branch-1 и сливать с prod?
Какие ещё есть варианты?
В данный момент мы ждём результатов тестирования всех задач на test и сливаем их массово в prod, мне кажется это не совсем верный подход, но так как мы только формируем архитектуру работы с проектом ещё есть время всё выстроить правильно. Заранее благодарен!
Какая-то непонятная "штука" у вас. Есть довольно продуманный git flow. Лучше начать с него, а затем уже думать, брать ли его как есть или адаптировать.
Не привязывайте тестирование к веткам, а проводите его так как считаете нужным.
В принципе, у вас сейчас неплохой вариант, потому как все тестируется вместе, сможете выявить регрессии, которые бы не проявились по отдельности. В gitflow чаще всего так тестят ветку release. Но у вас, я так понимаю, rolling-releases? Тогда проводите тестирование фич отдельно, сразу же настройте сборку множества тестовых окружений, чтобы это не тормозило процесс, и скорость увеличится значительно.