У меня проблема с отправкой вывода средства проверки зависимостей от агента сборки на сервер SonarQube. Я не уверен, что это команды, которые я использую с Dependency Checker или настройкой SonarQube на стороне сервера / клиента. Я получаю выходные данные сканирования в SonarQube для .cs,. js,. css et c .. но выходные данные сканирования зависимостей не видны в виджете проверки зависимостей. Однако, если я проверяю рабочую папку для конкретной сборки, из файла проверки зависимостей ow asp были созданы три файла, которые еще не были извлечены.
Что я сделал для подготовки перед сканированием:
- Загруженный OW ASP зависимость-проверка-cli из https://jeremylong.github.io/DependencyCheck/dependency-check-cli/index.html
- Извлеченный OW ASP зависимость-проверка-cli в каталог и добавили Путь в качестве значения среды на сервере агента сборки
- Установлен плагин проверки зависимостей на SonarQube через отмеченное место
- Установлен сонарсканнер на сервере агента сборки через сборку Учетная запись службы агента
- Удалено значение $ {Workspace} / из полей отчета в подключаемом модуле проверки зависимостей в SonarQube
- Теперь это значение - просто dependency-check-report.html / json / xml (в ожидании на поле).
Команда, которую я использовал для установки do tnet -sonarscanner через. Net Core:
dotnet tool install --global dotnet-sonarscanner
Зависимость OW ASP Команда y-check-cli (запускается из root checkoutDir на агенте сборки):
dependency-check.bat --project "%system.teamcity.projectName%" --scan . -f ALL --log D:\DependencyLogs\verbose.log
Чтобы работающая функция Retire Js работала, мне пришлось отладить журнал и загрузить непосредственно файл json, который не может быть получен напрямую. Я думаю, что мне нужно добавить переопределения для прокси-сервера для https, используя java параметры (/ d:)
Команда запуска сканера Sonar:
dotnet sonarscanner begin /k:%ProjectKey% /n:"%ProjectName%" /d:sonar.login=%SonarQube.UserToken% /d:sonar.host.url=%SonarQube.Host.Url%"
Если I f. Например, добавьте параметр /d:sonar.dependencyCheck.xmlReportPath=%system.teamcity.checkoutDir%/dependency-check-report.xml, он разрешается в checkoutdir с добавленным / src / позади отчета о проверке зависимостей . xml
Команда завершения работы сканера сонара:
dotnet sonarscanner /d:sonar.login=%SonarQube.UserToken% end
Если я добавлю
%system.teamcity.build.workingDir%/dependency-check-report.html
в html, xml или json в свойствах плагина в sonarqube:
[23:19:08] [Step 1/1] INFO: Dependency-Check JSON report does not exists. Please check property sonar.dependencyCheck.jsonReportPath:D:\TeamCityBuildAgent\work\a7450333ae6fcf0c\%system.teamcity.build.workingDir%\dependency-check-report.json
[23:19:08] [Step 1/1] INFO: JSON-Analysis skipped/aborted due to missing report file
[23:19:08] [Step 1/1] INFO: Using XML-Reportparser
[23:19:08] [Step 1/1] INFO: Dependency-Check XML report does not exists. Please check property sonar.dependencyCheck.xmlReportPath:D:\TeamCityBuildAgent\work\a7450333ae6fcf0c\%system.teamcity.build.workingDir%\dependency-check-report.xml
[23:19:08] [Step 1/1] INFO: XML-Analysis skipped/aborted due to missing report file
[23:19:08] [Step 1/1] INFO: Dependency-Check HTML report does not exists. Please check property sonar.dependencyCheck.htmlReportPath:D:\TeamCityBuildAgent\work\a7450333ae6fcf0c\%system.teamcity.build.workingDir%\dependency-check-report.html
[23:19:08] [Step 1/1] INFO: HTML-Dependency-Check report does not exist.
, если я удаляю рабочий каталог, так это выглядит в sonarqube:
dependency-check-report.html
Вывод выглядит так:
[23:26:38] [Step 1/1] INFO: Sensor Dependency-Check [dependencycheck]
[23:26:38] [Step 1/1] INFO: Process Dependency-Check report
[23:26:38] [Step 1/1] INFO: Using JSON-Reportparser
[23:26:39] [Step 1/1] WARN: JSON-Analysis aborted
[23:26:39] [Step 1/1] INFO: Using XML-Reportparser
[23:26:39] [Step 1/1] INFO: We doesn't found any Project configuration file e.g. pom.xml, gradle.build, build.gradle.kts, package-lock.json and can not link dependencies
[23:26:39] [Step 1/1] INFO: Linking 662 dependencies to project
[23:26:39] [Step 1/1] INFO: Upload Dependency-Check HTML-Report
[23:26:39] [Step 1/1] INFO: Process Dependency-Check report (done) | time=959ms
[23:26:39] [Step 1/1] INFO: Sensor Dependency-Check [dependencycheck] (done) | time=960ms
Так что это должно было сработать. Проверка зависимостей HTML завершена и загружена, но когда я смотрю на зависимости, сообщаемые в SonarQube, представление пустое. Чего мне не хватает ..?
Выход есть, хотя: