2017-05-05 92 views
1

自從我嘗試在本地機器上部署此解決方案並將其部署到生產服務器以來已經過去了一週。
不過,我面臨着許多困難和不理解,這就是我所做的:Sonar + Jenkins作業執行錯誤

  • 通過聲納安裝apt-get和本地主機上的端口9000推出它。
  • 通過apt-get安裝Jenkins並在本地主機的端口8080上啓動它。
  • 下載Jenkins的Sonar插件。

試圖運行的作業後,失敗的原因:

ERROR: Error during SonarQube Scanner execution org.sonarqube.ws.client.HttpException: 

完整的錯誤堆棧:

ERROR: Error during SonarQube Scanner execution 
org.sonarqube.ws.client.HttpException: Error 500 on http:/localhost:9000/api/ce/submit?projectKey=sonar.org:projectname&projectName=devops : {"errors":[{"msg":"An error has occurred. Please contact your administrator"}]} 
    at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:36) 
    at org.sonar.scanner.bootstrap.ScannerWsClient.failIfUnauthorized(ScannerWsClient.java:106) 
    at org.sonar.scanner.bootstrap.ScannerWsClient.call(ScannerWsClient.java:75) 
    at org.sonar.scanner.report.ReportPublisher.upload(ReportPublisher.java:177) 
    at org.sonar.scanner.report.ReportPublisher.execute(ReportPublisher.java:131) 
    at org.sonar.scanner.phases.PublishPhaseExecutor.publishReportJob(PublishPhaseExecutor.java:72) 
    at org.sonar.scanner.phases.PublishPhaseExecutor.executeOnRoot(PublishPhaseExecutor.java:54) 
    at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:83) 
    at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:175) 
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:143) 
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:128) 
    at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:262) 
    at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:257) 
    at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:247) 
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:143) 
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:128) 
    at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47) 
    at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86) 
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:143) 
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:128) 
    at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:118) 
    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:117) 
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) 
    at com.sun.proxy.$Proxy0.execute(Unknown Source) 
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233) 
    at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151) 
    at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123) 
    at org.sonarsource.scanner.cli.Main.execute(Main.java:77) 
    at org.sonarsource.scanner.cli.Main.main(Main.java:61) 

    http://localhost:9000/api/ce/submit?projectKey=sonar.org:projectname&projectName=devops 
    : {"errors":[{"msg":"An error has occurred. Please contact your administrator"}]} 

當我搜索上我看到SonarQube日誌:

2017.05.02 23:35:25 ERROR web[AVvKZ3JA+DB4lMWaAACV][o.s.s.w.WebServiceEngine] Fail to process 
request http:/localhost:9000/api/qualityprofiles/restore 
java.lang.IllegalStateException: Can't read file part at 
org.sonar.server.ws.ServletRequest.readPart(ServletRequest.java:102) 
... 
Caused by: java.io.IOException: The temporary upload location [/root/Documents/sonarqube-6.3.1/temp/tc/work/Tomcat/localhost/ROOT] is not valid 

回答

0

如在「The temporary upload location is not valid」中所見,確保th在文件夾/root/Documents/sonarqube-6.3.1/temp/tc/work/Tomcat/localhost/ROOT

  • 並通過運行聲納用戶存在
  • 是775。

或(如seen here)可以定義臨時文件夾到另一個位置

JVM_OPTIONS="-Xrs -Xms256m -Xmx512m -Djava.io.tmpdir=/opt/another/tmp" 

this threadthis thread作爲例子。

+0

事實上,我沒有任何這種類型的文件夾在我的電腦中。 A已經看到這些鏈接,但我不明白他們,對不起.. – Fosfor

+0

@Fosfor只需將-Djava.io.tmpdir =設置爲一個空文件夾,並且可以寫入,即可啓動Sonar。 – VonC

+0

好吧,我看到它,謝謝你,我改變了它,但關於文件夾「/root/Documents/sonarqube-6.3.1/temp/tc/work/Tomcat/localhost/ROOT」它不存在,我真的不'不知道如何解決這個問題。 – Fosfor

相關問題