Перейти к основному содержимому

Диагностика проблем

Пайплайн упал — что делать​

1. Найди упавший шаг​

Gitea → репозиторий → Actions → последний запуск → кликни на красный шаг → читай логи.

2. Тесты упали​

FAILED tests/test_api.py::test_create_user - AssertionError

Исправь тест или код, запушь снова.

3. SonarQube — Quality Gate failed​

Зайди на sonarqube.simple-env.site → твой проект → смотри Issues. Исправь проблемы и запушь.

4. Trivy нашёл уязвимость​

CRITICAL CVE-2024-XXXXX in requests==2.28.0

Обнови пакет:

# Python
pip install requests --upgrade
pip freeze > requirements.txt

# Node
npm update axios
npm install

Коммитни обновлённый requirements.txt / package-lock.json.

5. Migrate Job failed​

django.db.utils.ProgrammingError: column "email" already exists

Вероятно конфликт миграций. Варианты:

  • Проверь что не создаёшь поле которое уже существует
  • Если нужно откатить: обратись к преподавателю

6. Приложение задеплоилось но не открывается​

Возможные причины:

502 Bad Gateway — backend упал или ещё не запустился (подожди 30 секунд).

503 Service Unavailable — backend не прошёл healthcheck. Проверь endpoint GET /api/health/ — он должен возвращать 200 OK.

# Django — urls.py
urlpatterns = [
path('api/health/', lambda r: JsonResponse({'status': 'ok'})),
...
]

Страница загружается, API не работает — проверь CORS_ALLOWED_ORIGINS в backend.

7. OOMKilled — pod убит из-за памяти​

State: Terminated
Reason: OOMKilled

Оптимизируй приложение или подними лимит памяти в deploy.yaml (backend.resources.limits.memory).

Смотреть логи приложения​

Логи видны в Gitea Actions (для шагов деплоя).

Если приложение уже запущено — обратись к преподавателю, он посмотрит логи через kubectl.

Сбросить и переделать деплой​

Просто сделай пустой коммит и запушь:

git commit --allow-empty -m "trigger: redeploy"
git push