Устранение неполадок
Это руководство поможет вам устранить распространенные проблемы с коннекторами SonarQube.
Содержание
Коннектор не готовСимптомШаги диагностикиСбой задания ScannerСимптомШаги диагностикиКонфигурация не найденаСимптомШаги диагностикиСбой Quality GateСимптомШаги диагностикиПроблемы с производительностьюСимптомШаги диагностикиКак получить помощьКоннектор не готов
Симптом
Коннектор SonarQube имеет статус Ready: False.
Шаги диагностики
-
Проверьте статус коннектора:
Просмотрите поле
status.conditionsна наличие конкретных сообщений об ошибках. -
Распространенные причины и решения:
Недопустимый токен:
- Ошибка: "Authentication failed" или "Token invalid"
- Решение: Убедитесь, что токен в secret указан верно и не истек
- Сгенерируйте новый токен в SonarQube и обновите secret
Проблемы с подключением:
- Ошибка: "Connection refused" или "Timeout"
- Решение: Убедитесь, что экземпляр SonarQube доступен из кластера
- Проверьте network policies, firewall и разрешение DNS
Неверный адрес:
- Ошибка: "404 Not Found" или "Invalid URL"
- Решение: Убедитесь, что
spec.addressвключает правильный протокол (https://) и путь
Сбой задания Scanner
Симптом
Задание sonar-scanner завершается с ошибкой или зависает во время анализа.
Шаги диагностики
-
Проверьте журналы задания:
-
Распространенные причины и решения:
Отсутствует sonar-project.properties:
- Ошибка: "You must define the following mandatory properties"
- Решение: Убедитесь, что файл sonar-project.properties существует в корне проекта и содержит обязательные поля:
Конфигурация proxy не загружена:
- Ошибка: "Authentication required"
- Решение: Убедитесь, что scanner использует конфигурацию коннектора:
Недостаточно прав:
- Ошибка: "Insufficient privileges" или "403 Forbidden"
- Решение: Убедитесь, что токен имеет разрешение "Execute Analysis" для проекта
Сбой JRE Scanner на узлах MicroOS:
- Ошибка:
- Контекст: На MicroOS или других hardened-образах узлов более новые версии SonarScanner CLI могут автоматически подготавливать JRE перед запуском scanner engine. Если загруженный JRE не может выполняться в соответствии с политикой безопасности узла, контейнер scanner может завершиться с кодом выхода
3, даже если коннектор, proxy, аутентификация и подключение к SonarQube работают корректно. - Диагностика: Если в логах scanner видно, что он подключается к SonarQube и загружает scanner engine или JRE до ошибки инициализации JVM, рассматривайте это как проблему совместимости среды выполнения scanner, а не как проблему аутентификации коннектора.
- Решение: Используйте Java runtime, уже предоставленный образом scanner, если он совместим с вашей версией SonarQube: Также можно задать эквивалентную переменную среды:
- Проверка: Выполните
java -versionв образе scanner и убедитесь, что доступна поддерживаемая Java runtime, прежде чем отключать JRE provisioning.
Конфигурация не найдена
Симптом
Pod не удается смонтировать конфигурацию sonar-project.properties.
Шаги диагностики
-
Убедитесь, что CSI volume настроен правильно: Проверьте, что CSI volume корректно настроен в спецификации Pod с правильными атрибутами
connectorNameиconfiguration.names. -
Распространенные причины и решения:
Коннектор не готов:
- Решение: Дождитесь, пока коннектор перейдет в состояние Ready
- Конфигурация доступна только когда коннектор находится в состоянии Ready
Неверная конфигурация volume:
- Решение: Убедитесь, что конфигурация CSI volume включает:
connectorName: Имя вашего коннектораconnectorNamespace: Namespace вашего коннектораconfiguration.names: "sonar-scanner"
Сбой Quality Gate
Симптом
Анализ завершается, но статус quality gate не соответствует ожидаемому.
Шаги диагностики
-
Проверьте панель проекта SonarQube для получения сведений о quality gate
-
Распространенные причины и решения:
Несоответствие профиля качества:
- Решение: Убедитесь, что вашему проекту назначен правильный профиль качества
Порог покрытия не достигнут:
- Решение: Проверьте, есть ли у проекта данные о покрытии тестами
- Убедитесь, что отчеты о покрытии создаются до анализа
Настройка периода нового кода:
- Решение: Проверьте определение периода нового кода в SonarQube
Проблемы с производительностью
Симптом
Scanner работает слишком долго или завершает работу по тайм-ауту.
Шаги диагностики
-
Распространенные причины и решения:
Большая кодовая база:
- Решение: Увеличьте тайм-аут задания и лимиты ресурсов:
Сетевая задержка:
- Решение: Проверьте сетевое подключение к экземпляру SonarQube
- Рассмотрите возможность использования экземпляра SonarQube, расположенного ближе к вашему кластеру
Как получить помощь
Если проблемы сохраняются:
-
Проверьте журналы коннектора:
-
Просмотрите события коннектора:
-
Проверьте состояние экземпляра SonarQube:
- Откройте веб-интерфейс SonarQube
- Непосредственно проверьте endpoint
/api/system/status
-
Обратитесь к документации: