Какова лучшая стратегия построения микросервисов в моно репо? - PullRequest
0 голосов
/ 15 мая 2018

У меня есть моно репо (git), в котором находятся несколько микросервисов, над которыми я работаю. При запуске служба сборки стороннего производителя обнаруживает этот запрос и начинает обработку сборки и развертывания.

Это прекрасно работает. Но сейчас я пытаюсь оптимизировать этот процесс, и мне бы хотелось, чтобы он создавал именно те сервисы, над которыми я работал. Это означает, что службы сборки должны определять, какие папки были изменены, и создавать только эти службы.

Я получил этот процесс для работы на Travis довольно хорошо, потому что он имеет переменную среды GIT_COMMIT_RANGE. Таким образом, я могу получить все коммиты в моем последнем толчке, а затем через все эти коммиты получить папки, которые изменились ... это работает очень хорошо ... но ТОЛЬКО на travis.

Я хочу вырезать travis и создавать образы докеров непосредственно на GCP или любом другом стороннем сборщике контейнеров, который я использую, но я хочу только создавать папки, которые изменились.

Я думаю, что возможно сделать это с помощью git commit hook. С помощью этого хука я могу начать создавать список папок, которые нужно пометить для сборки, или даже начать создавать файл сборки (cloudbuild.yaml). Затем на каком-то git push hook (есть ли даже post-push hook) я локально сбрасывал содержимое файла cloudbuild.yaml.

...