В настоящее время мы осуществляем переход на Google Cloud и планируем использовать модули Google Cloud Composer, Dataflow и Dataproc для определения и запуска рабочих процессов и конвейеров данных.
У нас есть несколько env — POC, DEV, QA и PROD.
Может ли кто-нибудь с предшествующим опытом предложить лучшие практики в отношении конвейера CI / CD, а также то, как лучше всего управлять репозиториями.
Для начала — мы планируем использовать технику ветвления среды для каждой из вышеупомянутых сред, чтобы не было сильной зависимости, когда ветвь функции должна идти от DEV> QA> PROD. Вдохновленный отсюда — https://www.wearefine.com/news/insights/env-branching-with-git. Есть ли другие лучшие подходы?
Модули / конвейеры для Dataproc определены в Python. А модули / конвейеры для потока данных определены либо на Python, либо на Java. Компоновщик DAG всегда находится на Python.
Есть несколько вариантов использования —
- Composer может организовывать конвейеры, написанные на Python, вызывая модули потока данных на основе Java.
- Composer может управлять конвейерами, написанными на Python, вызывая модули потока данных на основе Python.
- Composer может управлять конвейерами, написанными на Python, вызывая модули Dataproc на основе Python.
- Могут быть модули Dataflow, которые являются автономными для потоковой передачи в реальном времени (без участия композитора)
Учитывая эти требования, как лучше всего организовать репозиторий git, совместимый с CI / CD?
Спасибо!
![Google Cloud Deploy - передовая практика для Cloud Composer, Dataflow и Dataproc Deploy [closed] TheFAQ.ru](https://thefaq.ru/wp-content/uploads/2023/01/logo-250.png)