0

我们正在尝试在 VSTS/TFS Online 中添加 Sonar 构建前和构建后步骤,如此处和此处所述。两者都是来自 Sonar 和 MS 的非常好的文档。以下是遵循的步骤
1. 暴露的内部声纳(托管在公司防火墙内部)端点,我们使用登录凭据成功测试
2. 在 VSTS 中创建了具有特殊声纳端点的端点。

在两个选项中 -

  1. 使用通用端点 - 如果我们选择使用允许用户名和密码的通用端点创建,Sonar Build 步骤无法识别下拉列表中的端点,最糟糕的是不会启用保存按钮 :(

  2. 使用 Sonar 端点 - 为了使其工作,必须创建允许基于令牌的访问的 Sonar 端点 - 为用户创建令牌,提供对用户 ID 的所有项目访问权限

但不知何故,Sonar 开始分析从未完成,但一段时间后出错。从日志消息(复制如下),看起来像它的 401 Unauthorized 问题

是否可以从 VSTS / TFS 在线访问 prem Sonar 服务器以进行 Sonar 构建步骤?也不确定基于天气令牌的访问是否有效或其他

仅供参考 - 从市场在线为 TFS 安装 Sonar 扩展

提前致谢

----------- 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)
4

1 回答 1

0

首先,关于端点,以前只能使用 a Generic Endpoint,但是从 v2 开始,我们决定移至特定端点,SonarQube Endpoint因此决定放弃对通用端点的支持。

我们还决定只支持基于令牌的身份验证,因为我们坚信这比用户名/密码更安全。

最后,根据日志和您描述的内容,我认为您的令牌未正确复制到SonarQube Endpoint. 根据您的浏览器,它可能在末尾添加了一个空格。您可以通过在本地运行分析来测试您的令牌是否有效(遵循本教程)。如果开始部分成功,则无需进一步操作。

随时告诉我们令牌是否正确,以便我们更深入地挖掘。

于 2017-01-26T07:45:13.490 回答