改变了Sonar web.context,现在ant任务失败了

时间:2011-12-16 12:31:23

标签: ant jenkins sonarqube

我有一个工作的声纳/ jenkins安装,其中sonar安装在localhost:9000上,jenkins安装在localhost:8080上。然后我想隐藏Apache后面的那些服务,并保护它们在经过Crowd认证的帐户访问后面。

首先,我将Jenkins重新定位到localhost:8080 / jenkins并代理它。哪个有效。

然后我将Sonar重新定位到localhost:9000 / sonar并代理它。这也有效。

但是现在,当我尝试在Jenkins的构建脚本中执行Sonar任务时,我收到以下错误:

sonar:
[sonar:sonar] Apache Ant version 1.7.1 compiled on April 26 2010
[sonar:sonar] Sonar Ant Task version: 1.2
[sonar:sonar] Loaded from: file:/usr/share/ant/lib/sonar-ant-task-1.2.jar
[sonar:sonar] Sonar work directory: /var/lib/jenkins/jobs/buzzcartes/workspace/.sonar
[sonar:sonar] Sonar server: http://localhost:9000

BUILD FAILED
org.sonar.batch.bootstrapper.BootstrapException: http://localhost:9000/api/server  /version
    at org.sonar.batch.bootstrapper.Bootstrapper.getServerVersion(Bootstrapper.java:71)
    at org.sonar.ant.SonarTask.checkSonarVersion(SonarTask.java:225)
    at org.sonar.ant.SonarTask.execute(SonarTask.java:188)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:357)
    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    at org.apache.tools.ant.Main.runBuild(Main.java:758)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: java.io.FileNotFoundException: http://localhost:9000/api/server/version
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1610)
    at java.net.URLConnection.getContent(URLConnection.java:748)
    at org.sonar.batch.bootstrapper.Bootstrapper.remoteContent(Bootstrapper.java:123)
    at org.sonar.batch.bootstrapper.Bootstrapper.getServerVersion(Bootstrapper.java:69)
    ... 18 more

我已更新Jenkins中的配置以反映http://localhost/sonar的新位置,因此我不确定http://localhost:9000/现在来自哪里。到目前为止,我已经查看了各种配置文件,并没有任何乐趣,谷歌到目前为止还没有找到任何好的答案。任何指针都是最受欢迎的。

哦,我在build.xml中的声纳任务看起来像这样:

<target name="sonar" depends="compile">
     <!-- list of mandatory Sonar properties -->
    <property name="sonar.sources" value="${basedir}/src" />

    <!-- list of optional Sonar properties -->
    <property name="sonar.projectName" value="buzzcartes" />
    <property name="sonar.binaries" value="${basedir}/build" />
    <property name="sonar.tests" value="${basedir}/test" />
    <property name="sonar.libraries" value="${basedir}/lib" />

    <sonar:sonar key="com.benjasoft:buzzcartes" version="0.1-SNAPSHOT" xmlns:sonar="antlib:org.sonar.ant" /> 

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试设置sonar.host.url参数

的Maven

<sonar.host.url>http://wherever.sonar.com:9000</sonar.host.url>

蚂蚁

<property name="sonar.host.url" value="http://wherever.sonar.com:9000" /> 

奇怪的是,它没有记录here,但在蚂蚁任务指南中提到过。