2017-01-31 12 views
0

Наша настройка - сервер SonarQube 5.6.5 LTS и сервер на основе TFS2017.Timout on SonarQube Анализ на TFS2017

Я выполняю анализ кода на большом решении, которое занимает около 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 или есть ли другие настройки тайм-аута, которые я должен установить выше?

Если я сниму флажок «Включить полный отчет анализа в сводку сборки» в задачу сборки сборки, сборка будет зеленой. Но в обоих случаях имеется в SonarQube Sever Регистрирует OutOfMemoryError:

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] 
... 

коррелируют эти 2 ошибки?

+2

Когда вы проверяете «Включить полный отчет анализа в сводку сборки», задача будет ждать завершения анализа, прежде чем перейти к следующей задаче. Это может быть полезно, если вы хотите поместить статус качества в отчет сборки, но замедлите сборку. Какая доступная память для процесса SonarQube на сервере? Вы можете проверить страницу [Требования к системе] (https://docs.sonarqube.org/display/SONAR/Requirements) для получения дополнительной информации о производительности SonarQube. –

+0

Я знал эту страницу раньше, и поскольку у нас есть память 4 ГБ на сервере, мне не важно настраивать свойство javaOpts. Я установил эти значения явным образом на предлагаемые 2gb Xmx и 512mb Xms - теперь все в порядке. – phifi

ответ

2

Две ошибки : коррелированные. Ваша задача сборки ожидает ответа сервера на результаты сборки, и он не отвечает из-за OutOfMemoryError.

Чтобы предоставить процессу больше памяти, отредактируйте $SONARQUBE_HOME/conf/sonar.properties, раскомментируйте строку sonar.ce.javaOpts и скорректируйте значения по мере необходимости.

+1

Это очевидно, но не забудьте перезапустить экземпляр сервера SonarQube после изменения этих значений. Стоимость мне еще полчаса или около того ... – phifi

 Смежные вопросы

  • Нет связанных вопросов^_^