Невозможно связать VSTS и SonarQube - JAVA_HOME не найден в вашей среде

Буду признателен за любую помощь по следующей проблеме, с которой я столкнулся.

У меня есть 3 сервера, частный сервер сборки, сервер веб-приложений / приложений SonarQube и сервер базы данных SonarQube.

SonarQube работает нормально, я могу успешно запустить SonarQube через командную строку, чтобы заполнить базу данных SonarQube качеством кода моего проекта с сервера сборки.

Проблема, с которой я сталкиваюсь, заключается в том, что я использую шаги сборки SonarQube в VSTS (Visual Studio Team Services) и пытаюсь автоматизировать эти шаги.

На шаге «Завершить анализ и загрузить результаты в SonarQube» появляется следующая ошибка:

ОШИБКА: JAVA_HOME не найден в вашей среде, и в PATH нет исполняемого файла Java. Установите переменную JAVA_HOME в своей среде, чтобы она соответствовала местоположению вашей установки Java, или добавьте «java.exe» в PATH

В моих возможностях (в VSTS) для агента сборки я добавил следующие возможности пользователя:

ПУТЬ -% JAVA_HOME% \ bin JAVA_HOME - C: \ Program Files \ Java \ jre1.8.0_101

Java определенно установлена ​​на сервере сборки и работает, поскольку я могу запустить сборку SonarQube через командную строку. Не уверен, почему VSTS не видит JAVA_HOME.

Заранее спасибо.


person Mike    schedule 11.10.2016    source источник
comment
К сожалению, форматирование, похоже, потеряно, а возможности пользователя могут быть неясны выше. Я добавил PATH -% JAVA_HOME% \ bin, а затем еще одну возможность для JAVA_HOME - C: \ Program Files \ Java \ jre1.8.0_101   -  person Mike    schedule 11.10.2016
comment
Вы имеете в виду, что ваша проблема решена? Если да, вы можете опубликовать новый ответ и пометить его как ответ через 24 часа.   -  person starian chen-MSFT    schedule 12.10.2016
comment
Нет, извините, я имел в виду, что форматирование в моем вопросе о переполнении стека, казалось, потеряло разрывы строк, когда я опубликовал вопрос, поэтому он объединил две возможности пользователя вместе, что могло показаться запутанным. Поэтому я просто хотел уточнить, что добавил две отдельные возможности пользователя, как в моем комментарии выше. Этот вопрос все еще не решен.   -  person Mike    schedule 12.10.2016
comment
ваша проблема решена, вы можете отметить ее как ответ.   -  person starian chen-MSFT    schedule 17.10.2016


Ответы (2)


Служба / агент сборки получает возможность только при запуске. Таким образом, вам необходимо перезапустить службу / агент сборки, чтобы обновить возможности после изменения вашей системной среды, например изменения переменной среды, установки нового программного обеспечения. Когда вы перезагружаете сервер сборки, служба / агент сборки перезапускается, поэтому работает.

person Eddie Chen - MSFT    schedule 14.10.2016

Хорошо, я не могу объяснить, почему это работает сегодня. Единственное, что я выключил сервер сборки вчера вечером и включил его сегодня утром, так что, может быть, потребовался перезапуск? Не понимаю почему.

Извините, я не могу предоставить дополнительную информацию, почему это работает сейчас!

person Mike    schedule 12.10.2016
comment
Возможности агента сборки будут обновлены после перезапуска сервера сборки. Вы можете сначала перезапустить агент сборки, если он не работает, вы можете перезапустить сервер сборки. Ваша проблема решена, отметьте ее через 24 часа. - person starian chen-MSFT; 12.10.2016