Ты сам проверяешь pull requests или твои пул-реквесты проверяют другие во время кросс-ревью?

«Ты сам проверяешь pull requests или твои пул-реквесты проверяют другие во время кросс-ревью?» — вопрос из категории Git, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Я работаю в рамках процесса кросс-ревью: мои пул-реквесты проверяют коллеги (тимлид или другие разработчики), и я, в свою очередь, проверяю их. Это обязательное правило в командах, где я работал.

Мой подход к ревью в DevOps-контексте:

  1. Автоматизация первичных проверок: Перед тем как запросить ревью, я убеждаюсь, что пайплайн CI (например, в GitLab CI или GitHub Actions) успешно выполнил все стадии: линтинг (например, hadolint для Dockerfile, shellcheck для скриптов), тесты инфраструктуры (например, terraform validate, ansible-lint) и сборку артефактов.
  2. Фокус на инфраструктурные аспекты: При проверке чужого PR я смотрю не только на код, но и на:
    • Безопасность (не захардкожены ли секреты, корректность прав в Dockerfile).
    • Идемпотентность скриптов развертывания (Ansible, Shell).
    • Соответствие шаблонам инфраструктуры как кода (Terraform modules).
    • Изменения в конфигурации пайплайнов (CI/CD).
  3. Пример комментария в ревью:

    "В этом шаге пайплайна deploy.sh нет обработки ошибок. Предлагаю добавить set -euo pipefail и проверку кода возврата команды kubectl apply."

Такой подход значительно снижает количество ошибок, попадающих в основную ветку, и помогает делиться знаниями о лучших практиках инфраструктуры внутри команды.