Я пытаюсь настроить конвейер CI/CD на GCP. Я хотел бы следующее:
- новая модификация в Github используется как триггер
- используйте
gcloud builds submit --config=cloud_build.yaml
для создания нового образа докера, содержащего изменения из git (в основном, новые пакеты python и код python), и поместите образ в ContainerRegistry. - используйте
gcloud deployment-manager deployments
create xxx -- template pipe.jinja --properties xxx` для развертывания и запуска моего контейнера (это блокнот Jupyter)
У меня настроены и работают 2 последних шага (gcloud
и gcloud deployment-manager
).
Мой вопрос: как я могу сделать это с помощью одного скрипта? Я бы хотел, чтобы конвейер был полностью автоматизирован. Некоторые из тестов, которые я хотел бы реализовать, — это проверка правильности установки пакетов python, которые будут выполняться в контейнере после развертывания.
Каковы лучшие практики GCP? Я думал, что могу использовать gcloud deployment-manager
внутри gcloud builds
, но не нашел документации, чтобы узнать, как это сделать. Для развертывания у меня есть много переменных для настройки сети, типа машины и других параметров, и я могу сделать это только с помощью скрипта jinja.