| .. | ||
| ci-backend.yml | ||
| ci-main.yml | ||
| ci-mobile.yml | ||
| ci-web.yml | ||
| code-quality.yml | ||
| deploy.yaml | ||
| README.md | ||
CI/CD Workflows
Forgejo Actions workflows для автоматической сборки, тестирования и развертывания проекта.
Быстрый старт
-
Проверьте готовность:
../../scripts/check_deploy_ready.sh -
Настройте секреты в Forgejo:
DEPLOY_SSH_PRIVATE_KEY # SSH ключ для деплоя -
Протестируйте локально:
../../scripts/test_ci_locally.sh -
Запустите деплой:
# Автоматический деплой git push origin main # ИЛИ ручной запуск через UI Forgejo
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.mnemo-cards.online - Web App: Rsync на веб сервер
mnemo-cards.online+ перезагрузка Nginx - Mobile App: Создание GitHub релиза с APK
Секреты Forgejo
DEPLOY_SSH_PRIVATE_KEY # SSH ключ для доступа к серверу 147.45.152.129
Ручной запуск
Через UI Forgejo
- Перейдите в репозиторий на Forgejo
- Откройте вкладку Actions
- Выберите workflow:
- "Main CI Pipeline" - полный цикл (сборка + деплой)
- "Deploy Applications" - только деплой (без пересборки)
- Нажмите "Run workflow" (кнопка с плей-иконкой)
- Выберите компонент для деплоя (для Deploy Applications)
- Нажмите "Run workflow"
Через командную строку
Backend деплой
../../deploy/backend-build_app.sh
Web app деплой
../../deploy/web-app/deploy.sh
Troubleshooting
См. CI_CD_SETUP.md для подробной диагностики проблем.