Проверяет знание инструментов автоматической проверки кода в пайплайнах.
Типичные проверки:
Статический анализ: flake8 (стиль кода), mypy (типы).
Тесты: pytest (юнит-тесты), coverage (покрытие).
Безопасность: bandit (уязвимости Python).
Эти проверки запускаются автоматически при каждом коммите.
CI/CD пайплайн для Python-проекта включает этапы:
Статический анализ кода:
flake8: Проверяет стиль (PEP8) и простые ошибки.
flake8 . --max-line-length=120mypy: Контроль типов.
mypy src/Запуск тестов:
pytest: Юнит-тесты + интеграционные.
pytest tests/ --cov=srccoverage: Отчёт о покрытии. Блокирует деплой, если < 80%.
Проверка безопасности:
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Вывод:
Автоматические проверки экономят время на ревью и предотвращают баги.
Ключевые слова: