Привет. У меня вопрос касаемо тестирования отдельных веток, а потом уже и всего ДЕВ сервака. Особенно это касается фронтендовской части.
Кто так делает? То есть сначала проверяет отдельную ветку с фичей\фиксом, а потом еще раз проверяет после ее заливки на ДЕВ сервер?
Привет. Это хорошая тема и важно понимать, что здесь серебряной пули нет. Очень много факторов которые влияют.
Мне больше симпатизирует разработка по гит-флоу... очень мощный инструмент, если которого строго придерживаться, то будет относительно все хорошо..
Мы на прошлой работе как раз таки придерживались такого подхода..
Важно то, что разработчики работают только с девелопом... делают ветку и в эту ветку подливают данные из девелопа.
По сути когда функционал готов и отдается на тест, в ветку подливаются данные из девелопа т.е. актуализируется с текущим состоянием. Тест. Если тест пройден успешно, то ветка мержится в девелоп.
Вот здесь разработчик должен проявить бдительность и здравый смысл. Смотреть каким образом будет происходить слияние веток, дабы не перезатереть уже разработанный кем-то раннее функционал.
После успешного слияния, прогоняется смоук тесты по главному функционалу разрабатываемой фичи, а так же проверяется интеграция в целом... Но тут такой момент, что тестировщик должен все таки понимать, какой фунционал мог сломаться при интеграции..
Так же важен факт отдельной жизни ветки от девелопа.. Если это более 2-3 рабочих дней, то в таком случае разработка становится очень дорогой.. Почему? Потому что, по хорошему разработчик должен регулярно подтягивать измения из девелопа для того, чтобы его ветка была в актуальном состоянии, а не в устаревшем. Для того чтобы не плодить баги в будущем и не тратить на их устранение..
Далее, когда планируемый фунционал закончен, и смержен с девелопом.. из девелопа собирается релизная ветка. И по ней уже прогоняется полное регрессионное тестирование..
При обнаружении багов в релизной ветке идем таким же путем...
Когда релиз стабилен, он выкатывается на прод и закрывается.. В этот момент, автоматом идет актуализация мастера с релизной веткой. Мастер актуализирован, после чего актуализируется ветка девелоп с мастером..
Если найден баг на проде и его необходимо фиксить сейчас и это не может подождать до следующего релиза, тогда открывается хотфикс.. т.е. ветка хотфикс ветвится от мастера и после успешного фикса мержится с мастером напрямую. Мастер снова актуализируется с девелопом.
В данном случае советую не держать долго открытыми ветки хотфикса, т.к. это дорого и при закрытии возмодно будет много конфликтов при актуализации мастера с девелопом, а так же актуализации веток разработчиков по цепной реакции..