SonarScanner CLI¶
Сканер — окремий інструмент, який запускається на машині з вихідним кодом і відправляє результати аналізу на сервер SonarQube. Встановлюється незалежно від того, як розгорнутий сам сервер.
1. Встановлення на Windows¶
1.1 Завантаження та розпакування¶
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -UseBasicParsing "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-6.2.1.4610-windows-x64.zip" -OutFile "$env:TEMP\scanner.zip"
Expand-Archive -Path "$env:TEMP\scanner.zip" -DestinationPath "C:\SonarScanner" -Force
1.2 Додавання в PATH¶
$scannerPath = (Get-ChildItem "C:\SonarScanner" -Directory | Select-Object -First 1).FullName
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$scannerPath\bin", "Machine")
1.3 Перевірка¶
2. Встановлення на Linux¶
2.1 Java для сканера¶
Якщо Java не встановлена:
2.2 Завантаження та розпакування сканера¶
cd ~
curl -O https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-6.2.1.4610-linux-x64.zip
unzip sonar-scanner-cli-6.2.1.4610-linux-x64.zip
sudo mv sonar-scanner-6.2.1.4610-linux-x64 /opt/sonar-scanner
2.3 Додавання в PATH¶
2.4 Перевірка¶
3. Створення проєкту та токена¶
-
У веб-інтерфейсі SonarQube перейдіть у:
Projects → Create Project → Locally
-
Задайте
Project Keyта назву проєкту. -
Згенеруйте токен аналізу:
My Account → Security → Generate Tokens
-
Оберіть тип токена:
Project Analysis Token
-
Збережіть значення токена.
4. Запуск сканування¶
Команда однакова для всіх платформ:
sonar-scanner \
-Dsonar.projectKey=КЛЮЧ_ПРОЄКТУ \
-Dsonar.sources=. \
-Dsonar.host.url=http://<адреса_сервера>:9000 \
-Dsonar.token=ТОКЕН
5. Виключення файлів з аналізу¶
За потреби виключіть з аналізу бінарні файли й сторонні бібліотеки:
-Dsonar.exclusions=**/bin/**,**/obj/**,**/*.dll,**/*.png,**/*.gif,**/*.bmp,**/*.pdb,**/*.woff2,**/*.ttf
6. Наступні кроки¶
- Налаштувати CI/CD інтеграцію (GitLab / GitHub / Jenkins) для автоматичного аналізу на кожен push