Как запустить SonarQube для анализа PHP-проекта?

Я хочу оценить SonarQube как инструмент проверки исходного кода.

Проект размещен в git-репозитории, и я хочу, чтобы SonarQube проверял мой PHP-проект при каждом коммите.

0

Решение

Я получил базовый экземпляр SonarQube через докер. (Текущая версия сонарного куба — 6,7 — пока я не знаю, остаются ли шаги такими же. Этот ответ учитывает 5.1.)

Запустите контейнер:

sudo docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube:5.1

Это обеспечивает стандартную установку SonarQube, доступную по адресу

http://localhost:9000/

Я могу войти через имя пользователя и пароль adminи установите компонент PHP через:

Настройки> Система> Центр обновлений

(или же: http://localhost:9000/updatecenter )

и поиск по PHP и установить.

Там я могу добавить PHP и после перезапуска сервера SonarQube, (я сделал это через docker stop container_id, container start container_id), расширение загружено.

Сервер не будет запускать ваши тесты. Он будет отображать только результаты.

Вам понадобится машина, предназначенная для работы в качестве вашего sonar-runner, для быстрого запуска вы можете использовать вашу локальную машину разработчика и локальную проверку из bitbucket. Установите гидролокатор на эту машину.

Загрузите гидролокатор через:

 $ wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip

и извлек это:

 ~/programs/sonar-runner-2.4

В этом каталоге вы найдете файл conf/sonar-runner.properties который должен содержать:

#Configure here general information about the environment, such as SonarQube DB details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://localhost:9000

#----- PostgreSQL
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar

#----- MySQL
#sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

#----- Oracle
#sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE

#----- Microsoft SQLServer
#sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor

#----- Global database settings
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

#----- Security (when 'sonar.forceAuthentication' is set to 'true')
sonar.login=admin
sonar.password=admin

Зайдите в корневой каталог вашего проекта и создайте файл с именем sonar-project.properties:

# must be unique in a given SonarQube instance
sonar.projectKey=yourProjectKey
# this is the name displayed in the SonarQube UI
sonar.projectName=yourProject
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=./classes/,./tests/

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8

Я тогда побежал:

 your/projects/dir$: ~/programs/sonar-runner-2.4/bin/sonar-runner

После этого вы увидите новую запись на панели инструментов SonarCube.

8

Другие решения

Получите следующее:

Сделайте следующее:

Настройка SonarRunner:

#Configure here general information about the environment, such as     SonarQube DB details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://14.3.1.4:9000

#----- PostgreSQL
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar

#----- MySQL
sonar.jdbc.url=jdbc:mysql://14.3.1.2:3306/sonarqube?   useUnicode=true&characterEncoding=utf8

#----- Oracle
#sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE

#----- Microsoft SQLServer
#sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor

#----- Global database settings
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

#----- Security (when 'sonar.forceAuthentication' is set to 'true')
#sonar.login=admin
#sonar.password=admin

Клонируйте репозиторий git в папке var / www на сервере, где находится сонар.
Затем добавьте файл конфигурации в проект, который вы хотите проверить, называется sonar-project.properties, Вот пример Symfony:

# Required metadata
sonar.projectKey=yoursite.dev.nl.project
sonar.projectName=Project
sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)
sonar.projectBaseDir=/var/www/your_project
# Folder being analysed.
sonar.sources=symfony/src

# Language (Only when it is a single language)
sonar.language=php
# Encoding of the source files
sonar.sourceEncoding=UTF-8
0

По вопросам рекламы [email protected]