#jenkins #gradle #sonarqube #maven-dependency-check-plugin
#Дженкинс #gradle #sonarqube #maven-dependency-check-plugin
Вопрос:
В настоящее время мы используем Jenkins free style job для проекта Gradle и используем следующие команды для запуска Sonar и Dependencycheck
./gradlew clean build sonarqube dependencyCheckAnalyze
и я получаю следующее сообщение
Анализ /opt/jenkins_slave_home/workspace/AA/package-lock.json
— однако каталог node_modules не существует. Пожалуйста, запустите npm install
перед запуском проверку зависимостей, создающую отчет для проекта AA_ArbitraryBuild Найдено 0 уязвимостей в проекте AA
и мы можем видеть файл внутри «ws / build / reports /», но он ничего не сканировал.
Ниже приведен файл «build.gardle»
buildscript {
repositories {
maven { url artifactoryRepoUrl }
mavenCentral()
}
dependencies {
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7'
classpath 'org.owasp:dependency-check-gradle:6.0.3'
}
}
apply plugin: 'org.sonarqube'
apply plugin: 'org.owasp.dependencycheck'
sonarqube {
properties {
property 'sonar.projectName', sonarProjectName
property 'sonar.projectKey', sonarProjectKey
property 'sonar.host.url', sonarHostUrl
property 'sonar.login', sonarAuthToken
property 'sonar.dependencyCheck.reportPath', sonarDependencyCheckReport
property 'sonar.dependencyCheck.htmlReportPath', sonarDependencyCheckHTMLReport
}
}
Можете ли вы, пожалуйста, помочь в том, какие дополнительные шаги мне нужно добавить.
Комментарии:
1. Есть ли в вашем проекте какие-либо файлы javascript или используются nodejs? Если да, то хотите ли вы, чтобы они сканировали с помощью SonarQube или хотите их исключить?
2. Да, у нас есть файлы узлов, и нам нужно отсканировать их с помощью SonarQube
3. Затем, перед этапом сканирования сонара, вам также необходимо выполнить
npm install
, как указано в ошибке.4. Я могу просмотреть отчет в <JenkinsWorkspace>/builds/reports/dependency-check-report.html но не удалось опубликовать в Sonar Dashboard
5. Перед sonarqube необходимо запустить dependencyCheckAnalyze, поскольку вы хотите, чтобы файлы отчетов существовали до загрузки в sonar.
Ответ №1:
У вас есть все, что нужно, чтобы отправить результат в sonar. Убедитесь, что вы указали правильный путь для отчета об уязвимостях owasp для плагина sonar. Это sonar.dependencyCheck.reportPath и должно указывать на build / reports directroy , и если вы создаете файл отчета html, вы можете указать его с помощью sonar.dependencyCheck.htmlReportPath .
Комментарии:
1. В более новых версиях плагина dependencycheck они устарели reportPath и заменили его определенным jsonReportPath XML-отчеты также устарели.