我设置了一个SonarQube服务器,并在TFS2017构建过程中包含了BuildTask步骤。 TFS是一种内部部署设置。
在“完成SonarQube分析”构建步骤中,我收到以下错误:
2017-01-30T08:54:30.7388183Z 09:54:30.676 Post-processing succeeded.
2017-01-30T08:54:32.1607278Z ##[error]System.Management.Automation.CmdletInvocationException: {"err_code":401,"err_msg":"Unauthorized"} ---> System.Net.WebException: Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.
2017-01-30T08:54:32.1607278Z bei Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request)
2017-01-30T08:54:32.1607278Z bei Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()
2017-01-30T08:54:32.1607278Z --- Ende der internen Ausnahmestapelüberwachung ---
2017-01-30T08:54:32.1607278Z bei System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
2017-01-30T08:54:32.1607278Z bei System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
2017-01-30T08:54:32.1607278Z bei System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
2017-01-30T08:54:32.1607278Z bei System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-30T08:54:32.1607278Z bei System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-30T08:54:32.1607278Z bei Microsoft.TeamFoundation.DistributedTask.Handlers.LegacyVSTSPowerShellHost.VSTSPowerShellHost.Main(String[] args)
2017-01-30T08:54:32.1763500Z ##[error]LegacyVSTSPowerShellHost.exe completed with return code: -1.
2017-01-30T08:54:32.1763500Z ##[section]Finishing: Complete the SonarQube analysis
分析完成后,我认为这是SonarQube之后进行的某种记录。
构建代理安装在服务器A上,安装在服务器B上的SonarQube。“准备步骤”构建任务完成没有错误,所以我假设,基本的SonarQube设置是正常的。我安装了SonarQube 5.6.5 LTS,SonarQube.Analysis.xml中提供的Sonar用户是默认的admin / admin用户。
有什么建议吗?
答案 0 :(得分:3)
构建任务不使用SonarQube.Analysis.xml中的身份验证属性,您需要在TFS中的SonarQube端点中指定身份验证令牌: https://docs.sonarqube.org/display/SCAN/SonarQube+Endpoint
这是一篇关于如何从SonarQube获取令牌的文章: https://docs.sonarqube.org/display/SONAR/User+Token
不要忘记在SonarQube.Analysis.xml中再次评论sonar.login和sonar.password属性,如果你首先取消注释那些。