我们正在使用此处描述的 maven build 设置声纳。但是我很想知道是否可以在没有数据库的情况下设置声纳。声纳是否可以在内存中生成所有 metrix 的 PDF 并将其保存到某个目录以供以后使用,而不是保存到数据库中?
2 回答
No. Practically everything in Sonar is stored in a database, so you must have one. PDF isn't any kind of reasonable way to store something for later use. If you're looking for reports in PDF format, there's a PDF plugin, but I've never used it.
有点晚了,但有可能,但我是新手,所以我不知道这是一个好方法还是不是这样,如果我错了,请纠正我。
这是在没有数据库的情况下安装 Sonarqube 的过程:
从这里下载 Sonarqube 文件。您可以下载最新版本或您喜欢的任何版本。我下载 6.6 因为它是一个稳定的版本。
然后下载后,解压缩文件并转到终端/cmd并按照以下命令进行操作:
$ cd /Downloads/sonarqube-6.6/bin/linux-x86-64 $ ./sonar.sh start
在这里,我使用的是 linux-86-64,所以这就是我使用该文件夹的原因。如果您使用任何其他设备,您可以在 bin 中找到您的设备文件夹并选择它。
然后您可以使用以下命令检查声纳的状态:
./sonar.sh status
输出将如下所示:
SonarQube is running (26602).
然后
http://localhost:9000/
使用用户名:admin和密码:admin登录,然后它会询问您的项目语言,如 java、c# 等以及您的自动化工具。我的是java和Gradle。在此之后,它会说给一个名称来生成一个密钥,一小部分会显示一个版本名称和一个 Gradle 命令(如果你选择了任何不同的选项,它将根据该选项生成命令)
复制版本名称并将其放入
build.gradle
文件中的插件中:plugins { id "org.sonarqube" version "2.7" }
并构建 gradle。对我来说,它是 2.7,但对你来说可能会有所不同。
然后复制命令并在终端中运行它。该命令如下所示:
./gradlew sonarqube -Dsonar.host.url=http://localhost:9000 -Dsonar.login=86606bed1bbb1fa68649401674d2f59e395481ff
生成的每个键的
Dsonar.login
值都会有所不同。
然后转到http://localhost:9000/
,然后您可以在那里看到您的项目名称及其错误、漏洞、代码气味等。
这就是您可以在没有数据库的情况下使用 Sonar 的方式。
PS:我不知道这是否是最好的方法,但对于像我这样的小项目来说,它非常方便,无需设置数据库。