В архитектуре одноуровневых микросервисов с одним сервисом на папку я пытаюсь использовать новую функцию CI refs: changes
.
Мой конвейер состоит из построения образа докера в каждой папке (= сервис), затем, если все будет зеленым, все службы будут развернуты на AWS.
Вот предварительный просмотр того, как это выглядит:
На изображении мы видим, что задание api-build
не выполнено. Это означает, что задания deploy
не будут выполняться (предположим, что !
означает пропуск).
Проблема в API-файле была обнаружена в папке API-интерфейса. Поэтому после исправления и нажатия на исправление будут выполняться только задания API. Это ожидается из-за:
only:
refs:
- release
- uat
changes:
- "api/**/*"
- "*"
, что дает мне:
Другие службы были пропущены в предыдущем конвейереи теперь не развернуты, потому что они не содержат изменений.
Теперь вопрос / вопрос: это хороший подход для такого типа монорепо? Как мне справиться с этим?
У меня более 24 служб, и если они каждый раз запускают задание без изменений, это замедляет развертывание (и это тратит ресурсы).