Files
quiz_test/docs/DRONE_0.8_MIGRATION.md
Andrey K. Choi f33abbb695
Some checks reported errors
continuous-integration/drone/push Build encountered an error
fix ci/cd test errors
2025-09-11 12:04:36 +09:00

83 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 и готова к продакшену.