Cloud Build — это сервис непрерывной интеграции и непрерывного развёртывания (CI/CD), предоставляемый облачной платформой Google Cloud. Он предназначен для автоматизации процессов сборки, тестирования и доставки приложений и контейнеров в управляемой безсерверной среде. Сервис поддерживает выполнение пользовательских конвейеров сборки, интеграцию с системами контроля версий и развертывание в разные вычислительные среды, включая контейнерные регистры и платформы оркестрации.
Архитектура Cloud Build основана на декларативных описаниях шагов сборки, которые выполняются в изолированных средах. Пользователи описывают последовательность команд и образов контейнеров, необходимых для компиляции кода, запуска тестов и создания артефактов. Сервис обеспечивает масштабируемое параллельное исполнение задач, управление артефактами сборки и интеграцию с другими облачными сервисами для хранения и доставки результатов.
- Декларативные конвейеры: описание шагов сборки в конфигурационных файлах, позволяющее задавать последовательность и параметры выполнения.
- Поддержка контейнеризации: создание и публикация образов контейнеров, интеграция с реестрами контейнеров и управление версиями артефактов.
- Интеграция с системами контроля версий: триггеры, запускаемые при изменениях в репозиториях, и автоматический старт конвейеров на основе событий.
- Параллельное выполнение и масштабирование: возможность выполнить несколько шагов одновременно и автоматически масштабировать вычислительные ресурсы под нагрузку сборок.
- Управление секретами и доступом: механизмы безопасного предоставления учетных данных и ключей для шагов сборки с интеграцией средств управления доступом.
- Поддержка многоплатформенных артефактов: генерация бинарных файлов, контейнерных образов и других артефактов, пригодных для последующего развёртывания.
- Интеграция с инструментами тестирования и мониторинга: запуск юнит-, интеграционных и приёмочных тестов в процессе сборки и передача результатов в системы мониторинга.
- Логирование и аудит: хранение журналов выполнения шагов сборки и возможности аудита для расследования сбоев и анализа производительности.
- Шаблоны и повторное использование: возможность создания повторно используемых шагов и шаблонов конвейеров для стандартизации процессов в организации.
- Гибкость конфигурации: поддержка различных языков программирования, инструментов сборки и пользовательских образов для адаптации под различные проекты.