Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про CI/CD: ci cd, code quality

Какие проверки кода используются в CI/CD (flake8, mypy, pytest)?

Проверяет знание инструментов автоматической проверки кода в пайплайнах.

Короткий ответ

Типичные проверки:

  1. Статический анализ: flake8 (стиль кода), mypy (типы).

  2. Тесты: pytest (юнит-тесты), coverage (покрытие).

  3. Безопасность: bandit (уязвимости Python).
    Эти проверки запускаются автоматически при каждом коммите.

Длинный ответ

CI/CD пайплайн для Python-проекта включает этапы:

  1. Статический анализ кода:

    • flake8: Проверяет стиль (PEP8) и простые ошибки.

      flake8 . --max-line-length=120
    • mypy: Контроль типов.

      mypy src/
  2. Запуск тестов:

    • pytest: Юнит-тесты + интеграционные.

      pytest tests/ --cov=src
    • coverage: Отчёт о покрытии. Блокирует деплой, если < 80%.

  3. Проверка безопасности:

    • bandit: Сканирует код на уязвимости.

      bandit -r src/

Пример .gitlab-ci.yml:

stages:
  - test

flake8:
  stage: test
  script:
    - flake8 . --max-line-length=120

mypy:
  script:
    - mypy src/

pytest:
  script:
    - pytest tests/ --cov=src --cov-fail-under=80

Вывод:
Автоматические проверки экономят время на ревью и предотвращают баги.

Ключевые слова:

Уровень

  • Рейтинг:

    1

  • Сложность:

    5

Навыки

  • CI/CD

    CI/CD

Ключевые слова

#ci cd

#code quality

Подпишись на Python Developer в телеграм