2012-11-28 155 views
1

我一直在試圖將Sonar與我們的Jenkins連續集成系統集成。我已經爲Jenkins安裝了Sonar-plugin並對其進行了配置(指定了DB,DB用戶名和密碼等)。我還指定了sonar-maven-plugin版本爲1.0-beta-2。Jenkins-Sonar-Maven集成問題

隨着這個插件配置,我添加了一個構建後動作來在我的maven項目上運行Sonar。但每次詹金斯試圖執行聲納:聲納目標都會失敗,並出現下面的錯誤。

請幫我解決這個問題。

感謝

[INFO] Building prof 
[INFO] task-segment: [org.codehaus.mojo:sonar-maven-plugin:1.0-beta-2:sonar] (aggregator-style) 
[INFO] ------------------------------------------------------------------------ 
[INFO] [sonar:sonar {execution: default-cli}] 
[INFO] Sonar host: http://inmqbs:9000 
[INFO] Sonar version: 3.3.2 
[INFO] Execute: org.codehaus.sonar:sonar-maven-plugin:3.3.2:sonar 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven- plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository troop-maven-releases (http://troop:8081/nexus/content/groups/platform/) 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven-plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository central (http://repo1.maven.org/maven2) 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven-plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository troop-maven-releases (http://troop:8081/nexus/content/groups/platform/) 
Downloading: http://troop:8081/nexus/content/groups/platform//org/codehaus/sonar/sonar-maven-plugin/3.3.2/sonar-maven-plugin-3.3.2.pom 
[INFO] Unable to find resource 'org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2' in repository central (http://repo1.maven.org/maven2) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Can not execute Sonar 

Embedded error: Unable to build project for plugin 'org.codehaus.sonar:sonar-maven-plugin': POM 'org.codehaus.sonar:sonar-maven-plugin' not found in repository: Unable to download the artifact from any repository 

    org.codehaus.sonar:sonar-maven-plugin:pom:3.3.2 

    from the specified remote repositories: 
    internal-repository (http://troop:8081/nexus/content/groups/platform/) 

    for project org.codehaus.sonar:sonar-maven-plugin 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.lifecycle.LifecycleExecutionException: Can not execute Sonar 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals (DefaultLifecycleExecutor.java:719) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal (DefaultLifecycleExecutor.java:569) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal (DefaultLifecycleExecutor.java:539) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar 
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:103) 
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:79) 
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:88) 
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals (DefaultLifecycleExecutor.java:694) 
... 17 more 
+1

你在命令行試過嗎?排除詹金斯的問題 –

+0

是的,它在做mvn聲納時會拋出同樣的錯誤:sonar – user1522820

回答

2

清楚的問題來自於您的Nexus存儲庫或你已經在你的POM/settings.xml文件/詹金斯設置提出了一些具體的配置。你應該聯繫處理這個「http:// troop:8081」Nexus實例的人,以瞭解如何處理你的問題。

順便說一句,沒有必要強制sonar-maven-plugin插件的版本:這會導致你只有麻煩。

+0

我已經移除了sonar-maven-plugin的強制。但它仍然拋出同樣的錯誤。 – user1522820

+0

這只是一個旁註......你的主要問題是關於插件庫的配置,可能是你的項目的POM中,你的服務器的settings.xml文件或Jenkins配置中。 –

+0

非常感謝。問題出在您指出的存儲庫上。我們沒有爲3.3.2 Sonar版本部署這些工件。我們的工件被部署爲3.3。所以,我將Sonar更改爲3.3,並且運行良好。再次感謝。 – user1522820

0

你使用的數據庫是?,如果它默認爲derby數據庫,那麼只允許來自localhost的連接,因此sonar和jenkins應該運行在同一臺機器上。如果這是問題,我可以給出進一步的指導,但簡而言之,要麼更改數據庫,要麼更改德比連接屬性,或在聲納和詹金斯機器之間提供ssh隧道。

0

使用在配置聲納Maven的插件2.0-β-1 代替聲納Maven的插件:1.0-β-2