У меня есть несколько вопросов о том, как вы справляетесь с тестированием и развертыванием, когда многие разработчики работают над одной и той же задачей (которая не может быть разделена дальше), а вы по-прежнему хотите выполнять развертывание ежедневно.
В настоящее время мы следуем Gitflow, где у нас есть ветки функций, над которыми все работают над изолированной функцией. Функции объединены в ветку разработки. Время от времени мы уделяем некоторое время удовлетворению требований пользователей / исправлению ошибок / быстрым функциям и т. д.
Конечная цель — как можно скорее доставить их в PROD. Мой вопрос в том, какой процесс вы бы предложили, чтобы:
1) Мы можем развернуть без введения бюрократии (например, выпуск в последнюю пятницу каждого месяца).
2) Если кто-то фиксирует код, который содержит ошибку, это не влияет на кого-то еще, кто зафиксировал код без ошибок. Другими словами, если кодер А пытается исправить ошибку, добавляя новую ошибку, а кодер Б исправил свою ошибку, то код кодера Б продвинется дальше в конвейер, а кодер А останется допоздна, исправляя ошибку :)
3) У нас не может быть неограниченных сред тестирования. Мы также не хотим тратить день на настройку среды тестирования. Нам нужно решение, которое может обойти эти требования (поэтому тестирование на ветках функций не вариант, если я что-то упустил)
3) Тестировщики точно знают, без сомнения, что они одобряют для запуска в производство.
Кстати, у нас есть довольно обширный набор модульных / функциональных тестов, но этот вопрос касается процесса, поэтому они не очень актуальны.
Кроме того, я исследовал все остальные вопросы, и ничто не отвечает на все мои вопросы. Если вы думаете, что есть тот, который делает, я был бы рад взглянуть.
Спасибо