Всем привет!
Возник вопрос по автотестированию микросервисов, распределенных между несколькими репозиториями.
В стандартном случае, когда мы работаем с монорепозиторием мы можем настроить запуск автотестов на коммит разработчика, тем самым проводя быстрый смок-тест каждого вливания в основную ветку.
В случае, если мы работаем со многими репозиториями такая практика становится более сложной: задача может состоять из нескольких коммитов в разные репозитории и запускать тесты на один из них не имеет смысла. Получается, мы должны организовать запуск тестов так, чтобы сначала несколько коммитов собирались в один билд, он накатывался бы на окружение и только потом проводился бы запуск тестов.
Есть ли понимание как это организовать?
Я могу накидать разные варианты.
1) Можно представить, что надо при коммите в ветку искать коммиты с тем же номером задачи в других ветках, хотя это не всегда так т.к. саб-таски могут иметь разные номера.
2) Можно добавлять два номера задачи в коммит - таски и общий, тогда оно сработает.
3) Можно добавлять список всех номер задач которые должны быть вместе.
4) Можно, наверное идти от хелм чартов - деплоя только изменения в хелме, а коммит в ветку таковым не считать. И тогда проблемы нет: автотесты запускаются на изменения хелм чарта, а он содержит в себе все изменения компонент.
Решал кто-нибудь на практике такую задачу?