Проблема с доступом к локальному серверу Sonar из VSTS/TFS Online для этапа анализа Sonar

Мы пытаемся добавить шаги до и после сборки Sonar в VSTS/TFS Online, как описано здесь и здесь. Оба являются довольно хорошей документацией от Sonar и MS. вот следующие шаги
1. Открыта внутренняя конечная точка Sonar (размещенная внутри корпоративного брандмауэра) и мы успешно протестированы с учетными данными для входа
2. Создана конечная точка в VSTS со специальной конечной точкой Sonar.

Из ДВУХ вариантов -

  1. С универсальной конечной точкой — если мы выбрали создание с общей конечной точкой, которая допускает имя пользователя и пароль, шаг Sonar Build не распознает конечную точку в раскрывающемся списке, в худшем случае не активирует кнопку «Сохранить» :(

  2. С конечной точкой Sonar. Чтобы заставить ее работать, пришлось создать конечную точку Sonar, которая разрешает доступ на основе токенов, созданный токен для пользователя, при условии, что весь доступ проекта к идентификатору пользователя

Но каким-то образом Sonar начинает анализ, который никогда не завершается, а через некоторое время выдает ошибки. Судя по сообщениям журнала (скопировано ниже), это выглядит как 401 Неавторизованная проблема.

Можно ли получить доступ к предварительному серверу Sonar из VSTS / TFS онлайн для этапа сборки Sonar? Также не уверен, что доступ на основе токена погоды работает или что-то еще

FYI - установленное расширение Sonar для TFS онлайн с торговой площадки

заранее спасибо

----------- Error Log ---------------
2017-01-25T12:14:16.9334904Z SonarQube Scanner for MSBuild 2.2
2017-01-25T12:14:16.9334904Z Default properties file was found at     D:\a\_tasks\SonarQubeScannerMsBuildBegin_15b84ca1-b62f-4a2a-a403-89b77a063157\2.0.0\SonarQubeScannerMsBuild\SonarQube.Analysis.xml
2017-01-25T12:14:16.9334904Z Loading analysis properties from D:\a\_tasks\SonarQubeScannerMsBuildBegin_15b84ca1-b62f-4a2a-a403-89b77a063157\2.0.0\SonarQubeScannerMsBuild\SonarQube.Analysis.xml
2017-01-25T12:14:16.9334904Z Pre-processing started.
2017-01-25T12:14:16.9334904Z Preparing working directories...
2017-01-25T12:14:16.9334904Z SonarQube Scanner for MSBuild 2.2
2017-01-25T12:14:16.9334904Z 12:14:16.484  Updating build integration targets...
2017-01-25T12:14:16.9334904Z 12:14:16.501  Fetching analysis configuration settings...
2017-01-25T12:14:17.4377059Z ##[error]
2017-01-25T12:14:17.5379198Z ##[error]Unhandled Exception: System.Net.WebException: The remote server returned an error: (401) Unauthorized.
2017-01-25T12:14:17.5379198Z ##[error]at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
2017-01-25T12:14:17.5379198Z ##[error]at System.Net.WebClient.DownloadString(Uri address)
2017-01-25T12:14:17.5379198Z ##[error]at System.Net.WebClient.DownloadString(String address)
2017-01-25T12:14:17.5379198Z ##[error]at SonarQube.TeamBuild.PreProcessor.WebClientDownloader.Download(String url)

person AnilR    schedule 25.01.2017    source источник
comment
какую аутентификацию вы настроили на сервере сонара? как выставляется? Есть ли шанс, что это может быть за безопасным шлюзом/обратным прокси?   -  person baywet    schedule 26.01.2017
comment
Он работает для меня с агентом сборки помещения. Используете ли вы локальный агент сборки? Попробуйте создать нового пользователя (может быть администратором) в вашем сонаркубе и сгенерируйте токен, затем обновите конечную точку Sonar и построение очереди. Каков результат, если вы используете устаревшие шаги сборки sonarQube?   -  person starian chen-MSFT    schedule 26.01.2017


Ответы (1)


Во-первых, что касается конечной точки, раньше можно было использовать только Generic Endpoint, но начиная с версии 2 мы решили перейти на конкретную SonarQube Endpoint и поэтому решили отказаться от поддержки универсальной.

Мы также решили поддерживать только аутентификацию на основе токенов, потому что мы твердо убеждены, что это более безопасно, чем аутентификация по имени пользователя/паролю.

Наконец, основываясь на журнале и том, что вы описали, я думаю, что ваш токен был неправильно скопирован в файл SonarQube Endpoint. В зависимости от вашего браузера в конце может быть добавлен пробел. Вы можете проверить, действителен ли ваш токен, запустив локальный анализ (следуйте этому руководство). Если часть begin прошла успешно, вам не нужно идти дальше.

Не стесняйтесь сообщить нам, правильный ли токен, чтобы мы могли копнуть глубже.

person Amaury Levé    schedule 26.01.2017