如何让 SonarQube 运行 分析一个 PHP 项目?
How to get SonarQube running to analyze a PHP project?
我想评估 SonarQube 作为源代码检查工具。
该项目托管在 git 存储库中,我希望 SonarQube 在每次提交时检查我的 PHP 项目。
获得以下内容:
- OpenJDK:7u55+ 共 8 个
- MySQL: 5.1 t/m 5.7
- SonarQube:http://dist.sonar.codehaus.org/sonarqube-5.1.zip
- 声纳跑步者:http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
执行以下操作:
设置 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
在声纳所在的服务器上的 var/www 文件夹中克隆一个 git 存储库。
然后在要检查的项目中添加一个名为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
我得到了 SonarQube via docker 的基本实例。 (sonar cube 的当前版本是 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 的本地结帐。在那台机器上安装 sonar-运行ner。
通过以下方式下载声纳 运行ner:
$ 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 仪表板上看到一个新条目。
我想评估 SonarQube 作为源代码检查工具。
该项目托管在 git 存储库中,我希望 SonarQube 在每次提交时检查我的 PHP 项目。
获得以下内容:
- OpenJDK:7u55+ 共 8 个
- MySQL: 5.1 t/m 5.7
- SonarQube:http://dist.sonar.codehaus.org/sonarqube-5.1.zip
- 声纳跑步者:http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
执行以下操作:
设置 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
在声纳所在的服务器上的 var/www 文件夹中克隆一个 git 存储库。
然后在要检查的项目中添加一个名为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
我得到了 SonarQube via docker 的基本实例。 (sonar cube 的当前版本是 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 的本地结帐。在那台机器上安装 sonar-运行ner。
通过以下方式下载声纳 运行ner:
$ 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 仪表板上看到一个新条目。