Concourse CI — система автоматизации процессов непрерывной интеграции и непрерывного развертывания с открытым исходным кодом. Платформа организует автоматизацию через абстракции пайплайнов, задач и ресурсов: пайплайны описывают последовательности шагов, задачи — отдельные единицы работы, а ресурсы отвечают за внешние зависимости и артефакты. Конфигурации обычно задаются в формате YAML, который определяет входы, выходы и последовательность выполнения задач, а также условия триггеров и связи между этапами.
Проект ориентирован на декларативность и воспроизводимость сборок, изолируя выполнение шагов в независимых рабочих контейнерах и обеспечивая явную модель версионирования и отслеживания артефактов. Concourse предоставляет веб-интерфейс и API для визуализации пайплайнов, наблюдения за выполнением и управления ресурсами, при этом архитектура системы предполагает разделение компонентов, позволяющее масштабировать исполнение задач и интегрироваться с различными системами сборки, хранилищами исходного кода и реестрами артефактов.
- Декларативные пайплайны — конфигурации в YAML, определяющие задачи, ресурсы и потоки данных.
- Изоляция выполнения — запуск задач в контейнеризированной среде для воспроизводимости.
- Ресурсная модель — абстракция внешних зависимостей (репозитории, артефакты, контейнерные реестры).
- Веб-интерфейс и API — визуализация пайплайнов, управление и мониторинг выполнения.
- Скалируемая архитектура — разделение компонентов управления и исполнителей для масштабирования нагрузки.
- Версионирование артефактов — отслеживание версий ресурсов и результатов задач.
- Триггеры и автоматизация — автоматический запуск задач по изменению ресурсов или по расписанию.
- Интеграция с CI/CD экосистемой — поддержка популярных систем контроля версий, контейнерных реестров и инструментов сборки.