79 lines
2.6 KiB
Markdown
79 lines
2.6 KiB
Markdown
|
|
# tools - Development & Deployment Tools
|
|||
|
|
|
|||
|
|
Инструменты для разработки, тестирования и развертывания проекта Mnemo Cards.
|
|||
|
|
|
|||
|
|
## Структура
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
tools/
|
|||
|
|
├── ci/ # CI/CD workflows для Forgejo Actions
|
|||
|
|
│ ├── ci-main.yml # Главный pipeline
|
|||
|
|
│ ├── ci-backend.yml # Backend CI
|
|||
|
|
│ ├── ci-web.yml # Web app CI
|
|||
|
|
│ ├── ci-mobile.yml # Mobile app CI
|
|||
|
|
│ ├── cd-deploy.yml # Deployment
|
|||
|
|
│ ├── code-quality.yml # Quality checks
|
|||
|
|
│ ├── release.yml # Auto releases
|
|||
|
|
│ └── agent.yml # AI agent
|
|||
|
|
├── deploy/ # Deployment scripts
|
|||
|
|
│ ├── backend-build_app.sh # Backend build & deploy
|
|||
|
|
│ └── web-app/ # Web app deployment
|
|||
|
|
│ ├── config.sh # Configuration
|
|||
|
|
│ ├── deploy.sh # Main deploy script
|
|||
|
|
│ └── nginx.conf # Nginx config
|
|||
|
|
├── docs/ # Documentation
|
|||
|
|
│ └── CI_CD_SETUP.md # CI/CD setup guide
|
|||
|
|
└── scripts/ # Utility scripts
|
|||
|
|
├── check_deploy_ready.sh # Pre-deploy checks
|
|||
|
|
└── test_ci_locally.sh # Local CI/CD testing
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Быстрый старт
|
|||
|
|
|
|||
|
|
### Проверка готовности к деплою
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./scripts/check_deploy_ready.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Локальное тестирование CI/CD
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./scripts/test_ci_locally.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Настройка CI/CD
|
|||
|
|
|
|||
|
|
См. [CI/CD Setup Guide](docs/CI_CD_SETUP.md)
|
|||
|
|
|
|||
|
|
## CI/CD Workflow
|
|||
|
|
|
|||
|
|
1. **Code Quality** - линтинг, тесты, безопасность
|
|||
|
|
2. **Build** - параллельная сборка всех компонентов
|
|||
|
|
3. **Deploy** - автоматическое развертывание на сервера
|
|||
|
|
|
|||
|
|
### Компоненты
|
|||
|
|
|
|||
|
|
- **Backend** (Dart) → `api.memo-cards.online`
|
|||
|
|
- **Web App** (Flutter) → `memo-cards.online`
|
|||
|
|
- **Mobile App** (Flutter) → GitHub releases
|
|||
|
|
|
|||
|
|
## Требования
|
|||
|
|
|
|||
|
|
### Локальная разработка
|
|||
|
|
- Flutter SDK
|
|||
|
|
- Dart SDK
|
|||
|
|
- Git
|
|||
|
|
|
|||
|
|
### Деплой
|
|||
|
|
- SSH доступ к серверу `147.45.152.129`
|
|||
|
|
- DNS: `memo-cards.online`, `api.memo-cards.online`
|
|||
|
|
- Forgejo с настроенными secrets
|
|||
|
|
|
|||
|
|
## Документация
|
|||
|
|
|
|||
|
|
- [CI/CD Setup](docs/CI_CD_SETUP.md) - полное руководство по настройке
|
|||
|
|
- [Deploy Scripts](deploy/README.md) - скрипты деплоя
|
|||
|
|
- [CI Workflows](ci/README.md) - CI/CD pipelines
|
|||
|
|
- [Scripts](scripts/README.md) - вспомогательные скрипты
|