# Drone 0.8 Pipeline Configuration ## 📋 Обзор Pipeline был успешно переработан для совместимости с Drone 0.8. Основные изменения включают: ## 🔄 Ключевые изменения ### Структура конфигурации - **services**: Конфигурация Docker-in-Docker для сборки образов - **pipeline**: Все шаги CI/CD в одной секции - Убраны секции `kind`, `type`, `name` (используются в Drone 1.x+) - Убраны `volumes` (заменены на environment переменные) ### Синтаксис шагов ```yaml # Drone 0.8 синтаксис pipeline: step_name: image: image_name commands: [...] when: {...} ``` ### Docker-in-Docker ```yaml services: docker: image: docker:27-dind privileged: true command: [ "--host=tcp://0.0.0.0:2375" ] environment: DOCKER_TLS_CERTDIR: "" ``` ## 🚀 Pipeline шаги 1. **prepare** - Подготовка и информация о сборке 2. **lint** - Проверка кода (black, isort, flake8) 3. **test** - Запуск тестов (pytest) 4. **security** - Проверка безопасности (safety, bandit) 5. **typecheck** - Проверка типов (mypy) 6. **docker_build** - Сборка Docker образа 7. **docker_test** - Тестирование Docker образа 8. **quality** - Анализ качества кода (radon) 9. **deploy** - Деплой (симуляция) 10. **notify_success** - Уведомление об успехе 11. **notify_failure** - Уведомление об ошибке ## 🎯 Условия выполнения - **docker_build/docker_test**: Только для веток `main`, `develop` - **deploy**: Только для ветки `main` при push - **notify_success/notify_failure**: В зависимости от статуса ## 🔧 Environment переменные Используются стандартные Drone переменные: - `${DRONE_BRANCH}` - Текущая ветка - `${DRONE_COMMIT_SHA}` - SHA коммита - `${DRONE_COMMIT_AUTHOR}` - Автор коммита - `${DRONE_BUILD_NUMBER}` - Номер сборки - `${DRONE_BUILD_STARTED}` - Время начала сборки ## ✅ Проверка корректности Pipeline проверен и готов к использованию с Drone 0.8: - ✅ YAML синтаксис корректен - ✅ Все шаги правильно настроены - ✅ Docker-in-Docker сконфигурирован - ✅ Условия выполнения установлены - ✅ Уведомления настроены ## 🏃‍♂️ Запуск Pipeline будет автоматически запускаться при: - Push в любую ветку - Создании Pull Request - Сборка Docker образов только для `main` и `develop` - Деплой только для `main` Конфигурация полностью совместима с Drone 0.8 и готова к продакшену.