Приветствую!
Ребят - очень помогли последний раз, ищу поддержки и в этот. Есть несколько десятков небольших скрэпперов на Пайтон. Код лежит на локальном gitlab. После пуша в мастер, Ранер обновляет код на прод сервере, который запускается через systemd unit автоматически после пуша, или вручную(если нужно) через pipeline gitlab’а. Так как потихоньку всю инфраструктуру перетаскиваем в облако, то появилась задача миграции этого процесса. Остановился на Google Cloud Run + gitlab или GitHub(не определился что будет лучше). Всвязи с этим появилось несколько вопросов по архитектуре:
Требования:
- После пуша разработчика в мастер должен запускаться контейнер с актуальным кодом;
- Разработчик должен иметь возможность вручную запускать те или иные приложения через удобоваримую оснастку(гитлаб, к слову, устраивал);
Вопросы:
- Какой оптимальный воркфлоу для этого процесса выбрать. Развернуть все проекты на Cloud Run, взять гитлаб и ранером запускать как делали это на onprem, только собирая каждый раз новый образ с актуальным кодом и запуская из него контейнер? Не избыточна ли будет постоянная пересборка образа?
- Запускать контейнеры из одного образа(зависимости едины на все проекты) с клоном нужного проекта ИЗ контейнера с последующим запуском? Опять же используя ранер
- Верно ли выбран стек технологий для решения задачи? При использовании github вместо gitlab как будет выглядеть процесс?
Заранее спасибо за ответ!!