2017-01-31 2 views
0

우리의 설정은 SonarQube 서버 5.6.5 LTS와 TFS2017 온 프레미스 서버입니다.Timar on SonarQube on TFS2017

저는 빌드 솔루션을 빌드하는 데 약 15 분이 소요되며 분석 빌드 단계를 완료하는 데 약 15 분이 걸리는 큰 솔루션에서 코드 분석을 실행하고 있습니다. 에 나는 다음과 같은 오류 얻을 "완료 SonarQube 분석"빌드 단계 : 빌드의 제한 시간이 제어 옵션이 제로/무한으로 설정 단계

2017-01-31T08:52:44.8355200Z 09:52:44.741 Post-processing succeeded. 
2017-01-31T08:52:46.9293440Z Waiting on the SonarQube server to finish processing in order to determine the quality gate status. 
2017-01-31T08:57:47.7364532Z ##[error]System.Management.Automation.RuntimeException: The analysis did not complete in the allotted time of 300 seconds. Consider setting the build variable SonarQubeAnalysisTimeoutInSeconds to a higher value. ---> System.Management.Automation.RuntimeException: The analysis did not complete in the allotted time of 300 seconds. Consider setting the build variable SonarQubeAnalysisTimeoutInSeconds to a higher value. 
2017-01-31T08:57:47.7364532Z --- Ende der internen Ausnahmestapelüberwachung --- 
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input) 
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke) 
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync) 
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings) 
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings) 
2017-01-31T08:57:47.7364532Z bei Microsoft.TeamFoundation.DistributedTask.Handlers.LegacyVSTSPowerShellHost.VSTSPowerShellHost.Main(String[] args) 
2017-01-31T08:57:47.7676884Z ##[error]LegacyVSTSPowerShellHost.exe completed with return code: -1. 
2017-01-31T08:57:47.7676884Z ##[section]Finishing: Complete the SonarQube analysis 

합니다. SonarQubeAnalysisTimeoutInSeconds을 어디에서 설정할 수 있습니까? 아니면 내가 설정해야하는 다른 시간 초과 설정이 있습니까?

빌드 준비 작업에서 "빌드 요약에 전체 분석 보고서 포함"을 선택 해제하면 빌드가 녹색으로 실행됩니다.

2017.01.31 09:54:10 INFO [o.s.s.c.s.ComputationStepExecutor] Compute duplication measures | time=399ms 
2017.01.31 09:54:56 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVnzuYyFhG9cSXnted2v 
java.lang.OutOfMemoryError: Java heap space 
    at java.util.Arrays.copyOf(Unknown Source) ~[na:1.8.0_121] 
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source) ~[na:1.8.0_121] 
    at java.lang.AbstractStringBuilder.append(Unknown Source) ~[na:1.8.0_121] 
    at java.lang.StringBuilder.append(Unknown Source) ~[na:1.8.0_121] 
    at org.sonar.server.computation.step.DuplicationDataMeasuresStep$DuplicationVisitor.appendDuplication(DuplicationDataMeasuresStep.java:131) ~[sonar-server-5.6.5.jar:na] 
... 

는이 두 오류가

상관 있습니까 : 은 그러나 두 경우 모두에서 SonarQube 끊어 로그에 OutOfMemoryError가 무엇입니까?

+2

"빌드 요약에 전체 분석 보고서 포함"을 선택하면 작업은 다음 작업을 계속하기 전에 분석이 완료 될 때까지 대기합니다. 품질 게이트 상태를 빌드 보고서에 넣고 싶지만 빌드 속도가 느려지는 경우 유용 할 수 있습니다. 서버에서 SonarQube 프로세스에 사용 가능한 메모리는 무엇입니까? SonarQube의 성능에 대한 자세한 내용은 [시스템 요구 사항] 페이지 (https://docs.sonarqube.org/display/SONAR/Requirements)를 확인하십시오. –

+0

전에이 페이지를 알고 있었고 서버에 4GB의 메모리가 있으므로 javaOpts 속성을 구성하는 데 신경을 쓰지 않았습니다. 이제이 값을 명시 적으로 2GB Xmx 및 512MB Xms로 설정했습니다. 이제는 모든 것이 잘됩니다. – phifi

답변

2

두 오류 입니다. 빌드 작업이 서버가 빌드 결과로 응답하기를 기다리고 있으며 OutOfMemoryError 때문에 응답하지 않습니다.

프로세스에 메모리를 부여하려면 $SONARQUBE_HOME/conf/sonar.properties을 편집하고 sonar.ce.javaOpts 줄의 주석 처리를 제거한 다음 필요에 따라 값을 조정하십시오.

+1

좀더 분명하지만, 값을 변경 한 후에 SonarQube 서버 인스턴스를 다시 시작하는 것을 잊지 마십시오. 30 분 정도 더 요. – phifi