У вас есть два требования здесь:
- Разработчики из обеих команд должны попробовать что-то, но хотели бы свести к минимуму влияние на других членов команды / команд
- Вы хотите часто интегрировать переднюю и заднюю части, чтобы обеспечить совместимость кода
Подход Docker хорош, но я бы предположил, что еще лучший подход - объединить вашу среду и настройку данных с базой кода. Таким образом, каждый разработчик может загружать среду локально с любой установкой и комбинацией версий, которые лучше всего соответствуют его потребностям.
Например, разработчик может:
- Указать dev API v1.5
- Укажите макет версии API
- Укажите набор тестовых данных v2.0
- Нажмите, чтобы создать среду и запустить код
- Запуск автоматических регрессионных тестов для подтверждения их последних работ по изменению кода
Потребуется некоторое время, чтобы настроить подобную сборку среды на основе сценариев, но она может окупиться.
Я даже видел, как разработчики запускали свою собственную непрерывную интеграцию локально, чтобы они запускали сборки среды и автоматизировали тестирование при кодировании.
Одну и ту же сборочную среду можно использовать в различных средах разработки и тестирования (сервер разработки, тестовый сервер, UAT, производство и т. Д.).