Sonar插件不适用于使用ANT作为构建脚本的项目

时间:2011-08-25 15:07:39

标签: ant maven jenkins sonarqube

问题

我刚刚安装了Sonar Jenkins插件。我进入了我的配置作业(一个自由样式的作业),通过ANT构建生成一个WAR文件工件,并执行如下操作:

  1. 选中声纳复选框。 (这里没问题)

  2. 配置声纳的安装目录(此处没有问题)

  3. 选中复选框,说明:“检查此项目是否未使用maven 2构建”(我在这里感到困惑)

    我已经检查过该框,因为我没有使用maven进行构建,我使用的是ANT,但它仍然要求我提供类似很多MVN的必需属性,例如:组织ID,项目ID,项目名称,项目版本,源代码目录...等..

    所以我也填补了这些。当我点击播放按钮“立即构建”时,构建似乎运行正常,因为它在声纳安装之前一直没有,但它最终失败,因为它试图执行MAVEN。

  4. 见如下:

    $ mvn -f /root/.jenkins/jobs/HRDA/workspace/pom.xml -e -B声纳:声纳 致命:命令执行失败 java.io.IOException:无法运行程序“mvn”(在目录“/root/.jenkins/jobs/HRDA/workspace”中):java.io.IOException:error = 2,没有这样的文件或目录 < / p>

    问题

    1. 为什么Sonar尝试执行Maven,如果我选中了复选框,如果你使用Maven 2,请选中此框?

    2. 如果我的应用程序是使用ANT,GANT,GRADLE构建的,那么我可以使用这个Sonar插件吗?

    3. 我是否必须重新转换我的应用以使用MVN构建?

    4. 谢谢, - 达里奥

1 个答案:

答案 0 :(得分:3)

就像Oers在我的问题评论中建议的那样,如果您在CI服务器中使用ANT作为构建脚本(在我的情况下是Jenkins),则必须使用SONAR-ANT-TASK生成Sonar报告,执行如下操作: / p>

  1. 下载MySQL或任何其他Sonar支持的RDBMS,如Postgres,Oracle等。'
  2. 下载并安装声纳服务器。
  3. 转到(声纳安装文件夹)/ extras / database / mysql并运行create_database.sql脚本。
  4. 我必须在我的情况下使用mysql运行额外的sql语句,你可以在这里看到Unable to access Sonar MySQL database Caused by: java.sql.SQLException: Access denied for user 'sonar'@'glassfishdev.ccs.local' (using password: YES)
  5. 输入./sonar.sh start
  6. 启动Sonar
  7. 将声纳ant任务添加到构建脚本中。您可以关注此模板http://docs.codehaus.org/display/SONAR/Analyse+with+Ant+Task+1.0
  8. 如果您已安装Hudson Sonar插件,
  9. 请不要检查配置屏幕中的声纳复选框,因为此插件仅适用于Maven项目。
  10. 点击“立即构建”按钮。如果上述所有内容都已正确完成,您应该可以在http://ipaddressofmachinesonarisinstalled:9000/
  11. 查看报告

    希望这有帮助, -Dario