75 lines
2.3 KiB
Markdown
75 lines
2.3 KiB
Markdown
|
|
# CI/CD Workflows
|
|||
|
|
|
|||
|
|
Forgejo Actions workflows для автоматической сборки, тестирования и развертывания проекта.
|
|||
|
|
|
|||
|
|
## Быстрый старт
|
|||
|
|
|
|||
|
|
1. **Проверьте готовность:**
|
|||
|
|
```bash
|
|||
|
|
../../scripts/check_deploy_ready.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **Настройте секреты в Forgejo:**
|
|||
|
|
```
|
|||
|
|
DEPLOY_SSH_PRIVATE_KEY # SSH ключ для деплоя
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **Протестируйте локально:**
|
|||
|
|
```bash
|
|||
|
|
../../scripts/test_ci_locally.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. **Запустите деплой:**
|
|||
|
|
```bash
|
|||
|
|
git push origin main
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Workflows
|
|||
|
|
|
|||
|
|
- `ci-main.yml` - Главный pipeline (координирует все остальные)
|
|||
|
|
- `ci-backend.yml` - CI для backend (Dart)
|
|||
|
|
- `ci-web.yml` - CI для веб приложения (Flutter Web)
|
|||
|
|
- `ci-mobile.yml` - CI для мобильного приложения (Flutter)
|
|||
|
|
- `cd-deploy.yml` - CD для развертывания на сервер
|
|||
|
|
- `code-quality.yml` - Контроль качества кода
|
|||
|
|
|
|||
|
|
## Процесс CI/CD
|
|||
|
|
|
|||
|
|
### 1. Code Quality Gate
|
|||
|
|
- Проверка линтинга для всех проектов
|
|||
|
|
- Запуск тестов с покрытием
|
|||
|
|
- Сканирование на наличие секретов
|
|||
|
|
- Проверка зависимостей на уязвимости
|
|||
|
|
|
|||
|
|
### 2. Сборка компонентов
|
|||
|
|
- **Backend**: Компиляция в нативный бинарный файл
|
|||
|
|
- **Web App**: Сборка Flutter web приложения
|
|||
|
|
- **Mobile App**: Сборка APK для Android и app для iOS
|
|||
|
|
|
|||
|
|
### 3. Развертывание
|
|||
|
|
- **Backend**: Автоматическое обновление сервиса на `api.memo-cards.online`
|
|||
|
|
- **Web App**: Rsync на веб сервер `memo-cards.online` + перезагрузка Nginx
|
|||
|
|
- **Mobile App**: Создание GitHub релиза с APK
|
|||
|
|
|
|||
|
|
## Секреты Forgejo
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
DEPLOY_SSH_PRIVATE_KEY # SSH ключ для доступа к серверу 147.45.152.129
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Ручной запуск
|
|||
|
|
|
|||
|
|
### Backend деплой
|
|||
|
|
```bash
|
|||
|
|
../../deploy/backend-build_app.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Web app деплой
|
|||
|
|
```bash
|
|||
|
|
../../deploy/web-app/deploy.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Troubleshooting
|
|||
|
|
|
|||
|
|
См. [CI_CD_SETUP.md](../../docs/CI_CD_SETUP.md) для подробной диагностики проблем.
|