Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Go-Go-Gadg...Error? Смотрим, как ошибаются Go разработчики! - 26.08

>
>
Отправка результатов анализа на сервер
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

Отправка результатов анализа на сервер

26 Авг 2026

Утилита Atlas Scanner

Для отправки результатов анализа на сервер используется утилита Atlas Scanner. Она распространяется в готовом образе Docker:

pull viva64/atlas-scanner

Загружается последняя стабильная версия утилиты. Для загрузки конкретной версии используйте систему тегов Docker:

pull viva64/atlas-scanner:8.0

Рекомендуется использовать все сервисы PVS-Studio Atlas одной версии.

Быстрый старт

Перед запуском сканнера введите лицензию PVS-Studio на сервере и подготовьте два параметра, значения которых можно найти в настройках сервера:

  • API-ключ для доступа к серверу;
  • ID ветки проекта, куда будут загружены результаты.

Подробнее об этих настройках можно узнать в документации "Управление проектами и ветками".

Для ознакомления с параметрами запуска введите команду:

docker run --rm viva64/atlas-scanner --help

Минимальная команда для запуска может выглядеть так:

docker run --rm -v "/Users/nickname/Downloads/BotSharp":"/mnt/project" viva64/atlas-scanner --reportPaths /mnt/project/BotSharp.json --sourceTreeRoot /mnt/project/ --serverUrl http://atlas-server:8080 --apiKey 49931204-56e0-4cbf-b87a-29c94735cc9e --branchId 85c6129f-0097-466a-9e48-466a7b74d75f --logDir /mnt/project/scanner_logs

Для быстрого старта замените выделенные жирным фрагменты на свои.

Если Atlas Server и Atlas Scanner запускаются на одном компьютере, то результаты анализа необходимо отправить по адресу http://host.docker.internal:8080.

Аргументы запуска

Используемые аргументы командной строки Docker:

  • run (обязательный) — создаёт и запускает новый контейнер на основе указанного образа.
  • -v (обязательный) — монтирует каталог с проектом к контейнеру Docker, чтобы Atlas Scanner в контейнере мог обработать отчёт анализатора и исходные файлы.
  • --rm — указывает Docker удалить контейнер после завершения работы.

Основные аргументы командной строки Atlas Scanner:

  • --version — выводит информацию о текущей версии сканнера.
  • --help — выводит в консоль справку со всеми аргументами командной строки.
  • --reportPaths (обязательный) — пути до отчётов анализаторов в форматах .plog, .json и .sarif. Можно перечислить несколько путей, если в одну ветку проекта нужно загрузить отчёты от разных анализаторов кода.
  • --sourceTreeRoot (обязательный) — путь до каталога с проектом, где расположены файлы с исходным кодом;
  • --serverUrl (обязательный) — адрес сервера, где развёрнут принимающий результаты Atlas Server.
  • --apiKey (обязательный) — ключ авторизации, допускающий Atlas Scanner к подключению. API-ключи создаются в настройках Atlas Server сотрудником, имеющим право Администратор;
  • --branchId (обязательный) — идентификатор ветки в проекте, куда необходимо загрузить результаты анализа.
  • --logDir — каталог, который содержит различные логи работы Atlas Scanner. Логи работы анализатора или отчёты анализатора в сохраняемую информацию не входят.
  • --sourceMask — маска, по которой файлы исходного кода запаковываются и отправляются на сервер. Значение по умолчанию: .c.cpp.hpp.h.cc.cxx.cs.csx.razor.java.ts.js.go.
  • --uploadMode — аргумент задаёт режим работы с файлами исходного кода:
    • ReportSources (по умолчанию) запаковывает только те файлы исходного кода, на которые указывает отчёт анализатора. Игнорирует аргумент sourceMask.
    • MaskSources — запаковывает все исходные файлы по маске, указанной в аргументе sourceMask, а также файлы, на которые указывает отчёт анализатора.
    • WithoutSources — файлы с исходным кодом не отправляются на сервер.
  • --quietMode — режим без вывода информации в консоль. В сочетании с аргументом logDir будет сохранять весь вывод в отдельном файле.

Коды возврата сканнера

Описание кодов возврата утилиты:

  • 0 — успешное завершение работы сканера;
  • 1 — внутренняя ошибка во время работы сканера, следует сообщить об этом разработчикам через форму обратной связи;
  • 2 — запуск сканера с неверным аргументом;
  • 3 — ошибка при загрузке отчёта PVS-Studio в формате .plog;
  • 4 — ошибка при загрузке отчёта PVS-Studio в формате .json;
  • 5 — ошибка при загрузке отчёта PVS-Studio в формате .sarif;
  • 6 — ошибка при запаковке отчёта .pvsmap перед отправкой;
  • 7 — не удалось подключиться к серверу из-за проблем с сетью;
  • 8 — сервер не доступен для приёма отчёта анализатора;
  • 9 — проблема с лицензией на сервере;
  • 10 — указанная ветка проекта не найдена на сервере;
  • 11 — указанная ветка проекта архивирована и не принимает результаты анализа;
  • 12 — проблема с загрузкой отчёта .pvsmap на сервере.