Some checks reported errors
continuous-integration/drone/push Build encountered an error
83 lines
3.1 KiB
Markdown
83 lines
3.1 KiB
Markdown
# 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 и готова к продакшену.
|