我正在Jenkins进行一个用sonarqube分析代码的项目。workspace下的项目结构为:/var/lib/jenkins/workspace/myproject-trunk-sonar/myproject/pom.xml,Module1,Module2等
# Required metadata
sonar.projectKey=Myproject
sonar.projectName=Myproject
sonar.projectVersion=1.0
#Set modules IDs
sonar.modules=Module1, Module2
# Comma-separated paths to directories with sources (required)
sonar.sources=src/main/java
# Language
sonar.language=java
# Encoding of the source files
sonar.sourceEncoding=UTF-8
如果pom.xml和模块所在的/var/lib/jenkins/workspace/myproject-trunk-sonar/myproject下有sonar-project.properties文件,则会看到以下错误:
ERROR: Error during SonarQube Scanner execution
ERROR: You must define the following mandatory properties for 'Unknown': sonar.projectKey, sonar.sources
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
ERROR: SonarQube scanner exited with non-zero code: 1
如果在/var/lib/jenkins/workspace/myproject-trunk-sonar下有sonar-project.properties文件,则会看到以下错误:
ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: The base directory of the module 'Module1' does not exist: /var/lib/jenkins/workspace/myproject-trunk-sonar/Module1
at org.sonarsource.scanner.cli.Conf.setModuleBaseDir(Conf.java:180)
at org.sonarsource.scanner.cli.Conf.loadModuleConfigFile(Conf.java:172)
at org.sonarsource.scanner.cli.Conf.loadModulesProperties(Conf.java:137)
at org.sonarsource.scanner.cli.Conf.loadProjectProperties(Conf.java:111)
at org.sonarsource.scanner.cli.Conf.properties(Conf.java:59)
at org.sonarsource.scanner.cli.Main.execute(Main.java:68)
at org.sonarsource.scanner.cli.Main.main(Main.java:61)
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
ERROR: SonarQube scanner exited with non-zero code: 1
我如何让声纳扫描器查看带有java代码的模块所在的目录?当我在模块所在的目录中有属性文件时,它甚至找不到属性文件,并抱怨缺少强制字段。
谢谢你的帮助。
谢谢你的回复。我能够通过修改我的项目的目录结构来解决这个问题。我删除了目录'myproject'并将sonar-project.properties文件放置在所有模块所在的位置,并且能够成功地运行扫描仪。
谢谢你的帮助。
我们能比较詹金斯和声纳吗?如果是,怎么做。我想知道詹金斯和声纳的优缺点。比如为什么要使用声纳,它比詹金斯有什么优势,反之亦然?
我的JUnit测试覆盖范围在jenkins上构建时不会传播到声纳。声纳上的“单元测试覆盖范围”字段保持空白,但“单元测试成功”字段显示正确的值。我正在使用jacoco进行测试覆盖。在jenkins上,jacoco的报告运行良好,并在生成的html中显示了正确的覆盖率。我就是不能把它送到声纳上。 使用jenkins的Jacoco插件,我使用以下参数调用独立的声纳分析。 路径和蚁任务是正确的。也许我错
问题:我正在设置詹金斯声纳github集成,用于通过声纳自动提取请求静态代码检查。 我的配置: > 使用github安装声纳 詹金斯 在jenkins post build action中,我有以下属性 我已经添加了所有除了sonar.github.pull请求属性。我不知道如何动态获取这个属性值。似乎以上四个属性必须正常工作。 编辑:我找到了添加属性-Dsonar的方法。github。pullR
我尝试使用Jenkins上的java项目运行声纳分析,使用标准的maven sonar:sonar goal,并使用post STEP>>Execute SonarQube Scanner。我使用的maven目标是。 对于SonarQube扫描仪,我使用了下面的maven目标 SonarQube版本-7.7声纳扫描仪版本-3.3.0 Jenkins版本-2.164.3 Maven版本-3.6.1
问题内容: 我正在运行在本地工作的脚本。但是,当我在詹金斯构建过程中运行脚本时,sed无法正常工作。 这是我验证路径正确的代码。文件在那里。 我觉得这与我的语法有关。但这在本地有效,那么我可能做错了什么? 问题答案: 从sed命令中删除和的两个单引号()之间的 空格 。通常,后缀必须立即跟在选项后面,且不能有空格。
问题内容: 我有一个.Jar文件,它将在运行时将数据加载到数据库中。我已经计划通过詹金斯来担任这项工作。当我在詹金斯执行作业时,它将成功运行.JAR。但是,请说作业中是否存在空指针异常,并且该异常未成功完成。即便如此,詹金斯仍然说工作已经“通过”。如果作业执行过程中出现问题,如何使作业失败? 问题答案: @Corey的解决方案很好。而且,如果您不想编写JUnit测试并在Jenkins中提供支持,则