Drone

Бесплатно
Открытый исходный код

Сайт: drone.io

Drone — платформа для непрерывной интеграции (CI) и непрерывной доставки (CD), ориентированная на выполнение шагов конвейера в изолированных контейнерах Docker. Проект предоставляет механизм описания сборочных задач в виде декларативных конфигураций, где каждая задача запускается внутри собственного контейнера, что обеспечивает повторяемость среды и изоляцию зависимостей. Drone поддерживает интеграцию с популярными системами управления исходным кодом и хостингом репозиториев, позволяя автоматически запускать конвейеры при событиях в системах контроля версий, таких как push, pull request и tag.

Изначально разработанная как инструмент с модульной архитектурой, платформа доступна в вариантах self-hosted и облачных развертываниях, предоставляя гибкость для разных сценариев эксплуатации — от локальных серверов в организации до управляемых сервисов. Основной принцип работы основан на описании шагов конвейера в конфигурационном файле, который хранится в репозитории и версионируется вместе с исходным кодом, что облегчает воспроизведение сборки и управление изменениями. В тексте отражены общие характеристики и типичные сценарии использования; если конкретные технические детали интересуют дополнительно, их можно уточнить отдельно.

  • Контейнерная изоляция: каждый шаг конвейера выполняется в отдельном Docker-контейнере, что обеспечивает консистентность среды и упрощает управление зависимостями.
  • Декларативная конфигурация: описание сборок и задач ведётся в конфигурационном файле в репозитории, что обеспечивает версионирование и переносимость конвейеров.
  • Интеграция с SCM: поддержка интеграции с системами управления исходным кодом (например, GitHub, GitLab, Bitbucket и др.), триггеринг сборок по событиям репозитория.
  • Модели развёртывания: доступность как self-hosted решения для установки в инфраструктуре организации и как облачного варианта для упрощённого управления.
  • Параллелизм и оркестрация: возможность параллельного выполнения шагов и объединения результатов, что ускоряет общий цикл CI/CD.
  • Плагинная экосистема: поддержка расширений и плагинов для интеграции с внешними сервисами, инструментами тестирования и деплоя.
  • Управление секретами: механизмы безопасного хранения и передачи секретов и переменных окружения в рамках сборок.
  • Лёгкость масштабирования: архитектура, позволяющая масштабировать исполнители и балансировать нагрузку при увеличении числа параллельных сборок.
  • Логирование и мониторинг: централизованный сбор логов выполнения и возможности интеграции с системами мониторинга для отслеживания состояния конвейеров.
  • Использование в DevOps-процессах: типичное применение включает автоматизацию сборки, тестирования, статического анализа кода и развёртывания приложений в различных средах.
Подробнее