Some checks reported errors
continuous-integration/drone/push Build encountered an error
3.1 KiB
3.1 KiB
Drone 0.8 Pipeline Configuration
📋 Обзор
Pipeline был успешно переработан для совместимости с Drone 0.8. Основные изменения включают:
🔄 Ключевые изменения
Структура конфигурации
- services: Конфигурация Docker-in-Docker для сборки образов
- pipeline: Все шаги CI/CD в одной секции
- Убраны секции
kind,type,name(используются в Drone 1.x+) - Убраны
volumes(заменены на environment переменные)
Синтаксис шагов
# Drone 0.8 синтаксис
pipeline:
step_name:
image: image_name
commands: [...]
when: {...}
Docker-in-Docker
services:
docker:
image: docker:27-dind
privileged: true
command: [ "--host=tcp://0.0.0.0:2375" ]
environment:
DOCKER_TLS_CERTDIR: ""
🚀 Pipeline шаги
- prepare - Подготовка и информация о сборке
- lint - Проверка кода (black, isort, flake8)
- test - Запуск тестов (pytest)
- security - Проверка безопасности (safety, bandit)
- typecheck - Проверка типов (mypy)
- docker_build - Сборка Docker образа
- docker_test - Тестирование Docker образа
- quality - Анализ качества кода (radon)
- deploy - Деплой (симуляция)
- notify_success - Уведомление об успехе
- 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 и готова к продакшену.