#sonarqube #sonarqube-scan
#sonarqube #sonarqube-scan
Вопрос:
Я устанавливаю sonar-scanner через docker на свой mac
(https://hub.docker.com/r/sonarsource/sonar-scanner-cli ) и я получаю сообщение об ошибке «Вы должны определить следующие обязательные свойства для ‘Unknown’: sonar.projectKey».
Я сделал следующее:
1. добавьте файл sonar-scanner.properties в корень JS project
# Required metadata
sonar.projectKey=my-app
sonar.projectName=Franchise
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
sonar.sources=server/app.js,pages,components
2 Установлены docker и сканер
Вот моя команда docker
запуск docker —rm -e SONAR_HOST_URL=»https://sonarqube.comp.com /» -e SONAR.PROJECTKEY=»my-app» -v «/git/franchises» sonarsource/sonar-scanner-cli
Может, пожалуйста, дайте мне знать, как правильно передать информацию.
Спасибо
Ответ №1:
Запустите сервер SonarQube как Docker Image:
$ docker pull sonarqube:7.9.4-community
$ docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:7.9.4-community
- Войдите в http://localhost:9000 (логин = администратор, пароль= администратор)
- (убедитесь, что сервер sonarqube запущен на локальном хосте: 9000)
Запустите SonarScanner как изображение Docker:
-
$ docker pull newtmitch/sonar-scanner:4-alpine
-
Перейдите в корневой каталог проекта
-
$ docker run -it -v $(pwd):/usr/src --link sonarqube:7.9.4-community newtmitch/sonar-scanner:4-alpine -D sonar.host.url=http://sonarqube:9000 -D sonar.scm.provider=git -D sonar.projectBaseDir=./src -D sonar.sources=. -D sonar.projectName='Test-Project'
-
(ПРИМЕЧАНИЕ: выше я предполагаю, что ваш исходный код находится внутри папки- src, если нет, пожалуйста, измените соответствующим образом)
-
Перейдите к http://localhost:9000 Теперь вы увидите новый проект — «Test-Project», который полностью проанализировал исходный код, который вы запустили из своего корневого каталога.
-
Документация нажмите
Использование пакета «sonarqube-scanner» (альтернатива для SonarScanner, специфичная для языка js / ts):
-
$ npm i -D sonarqube-scanner
-
В package.json добавьте новый скрипт:
"sonar": "node sonar-project.js"
-
добавьте файл в свой корневой каталог: sonar-project.js
-
Скопируйте следующий код в sonar-project.js:
const sonarqubeScanner = require('sonarqube-scanner'); sonarqubeScanner({ serverUrl: 'http://localhost:9000', options: { 'sonar.sources': 'src', 'sonar.tests': 'src', 'sonar.inclusions': 'src/**/*.ts', // Entry point of your code 'sonar.test.inclusions': 'src/**/*.spec.ts,src/**/*.spec.jsx', }, }, () => { console.log('Error Occurred while scanning'); });
-
$ npm run sonar
-
Документация нажмите
Ответ №2:
Немного поздно, но вот решение:
docker run --rm -e SONAR_HOST_URL="https://sonarqube.comp.com/" -v "/git/franchises" sonarsource/sonar-scanner-cli -Dsonar.projectKey=my-app
Как указано в https://github.com/SonarSource/sonar-scanner-cli-docker/issues/26 , вы можете добавить любое -Dsonar.xxx
свойство.
Комментарии:
1. Спасибо, что указали мне в этом направлении! Мне нужно было добавить пробел между
-D
иsonar.projectKey=my-app
, чтобы заставить его работать. В противном случае я получилERROR: Unrecognized option: .projectKey=my-app
, что довольно странно, поскольку все официальные документы используются-Dsonar.xxx
.2. Если вы используете Windows, лучше всего использовать
-D "arg=value"
.
Ответ №3:
Я опаздываю на вечеринку, но вы также можете использовать .properties
файл, за исключением того, что он должен быть назван sonar-project.properties
.