【问题标题】:401 Unauthorized out of nowhere with Jenkins and TFSJenkins和TFS突然出现401未经授权
【发布时间】:2016-04-28 11:09:58
【问题描述】:

编辑 2

好吧,事实证明这与 TFS 或 MSBuilder 无关。这完全是 SonarQube 的问题。 SonarQube 服务是发回 401(未授权)状态而不是 TFS 的服务。自从我运行 5.4 以来,我不知道如何指定 SonarQube 用户,因为在 Jenkins 中,这两个字段都是灰色的。


我将 Jenkins 用作 Windows 服务,大约 2 小时前,该服务成功构建。现在,无论我尝试启动哪个构建作业,Jenkins 都会突然报告 401(未授权)。

  • 他们都先启动 SonarQube 扫描仪
  • 运行 MSBuild
  • 为了让 SonarQube 读取分析,我必须运行重建命令
  • 运行 End SonarQube 分析步骤,它会收集数据以放入我们的 SonarQube 门户。

我不明白的是,我对任何东西所做的最后一次更改是从 ASP 项目中删除一个文件,现在没有任何工作可以工作,即使是那些与这个 ASP 项目无关的工作。所有项目都存储在我们的 Team Foundation Server 上(非本地托管)。

唯一真正改变的是我们希望 Jenkins 和 SonarQube 服务的 IP 可以在它们托管的服务器之外访问,因此我们在本地 IIS 上创建了两个站点并创建了一个 DNS 来指向它们。读入错误日志,我首先看到状态 302,这是一个重定向,在我到达 402 之前。当我转到“配置 Jenkins”时,我被告知我的代理设置失败......或者类似的东西。

知道什么可能导致这种行为吗?

编辑

这是错误日志的一部分:

信息:在 CSharp 构建作业中检测到 SCM 更改。触发#1

2016 年 4 月 20 日上午 11:04:08 com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory logHTTPClientConfiguration

INFO: HttpClient 为https://omitted.visualstudio.com/ 配置,身份验证为 it@omitted.dk

2016 年 4 月 20 日上午 11:04:10 com.microsoft.tfs.core.ws.runtime.client.SOAPService 执行SOAPRequestInternal

信息:SOAP 方法='GetRegistrationEntries',状态=302,内容长度=0,服务器等待=1164 毫秒,解析=0 毫秒,总计=1164 毫秒,吞吐量=0 B/s,未压缩

2016 年 4 月 20 日上午 11:04:11 com.microsoft.tfs.core.httpclient.HttpMethodDirector processWWWAuthChallenge

信息:使用 BASIC @omitted.visualstudio.com:443 进行身份验证失败

2016 年 4 月 20 日上午 11:04:11 com.microsoft.tfs.core.ws.runtime.client.SOAPService 执行SOAPRequestInternal

信息:SOAP 方法='GetRegistrationEntries',状态=401,内容长度=0,服务器等待=578 毫秒,解析=0 毫秒,总计=578 毫秒,吞吐量=0 B/s,未压缩

2016 年 4 月 20 日上午 11:04:11 com.microsoft.tfs.core.TFSTeamProjectCollection getServerDataProvider

警告:获取数据提供者时出错

com.microsoft.tfs.core.exceptions.TFSUnauthorizedException:访问被拒绝连接到 TFS 服务器https://omitted.visualstudio.com/(身份验证为 it@omitted.dk)

【问题讨论】:

    标签: jenkins tfs msbuild


    【解决方案1】:

    尝试将服务器 URL 从 https://omitted.visualstudio.com/ 更改为 https://omitted.visualstudio.com/DefaultCollection。并使用个人访问令牌或备用凭据作为用户名和密码。检查下面的屏幕截图:

    【讨论】:

    • 设置已按照您的建议进行。使用公共令牌和一切puu.sh/ozOox/1a4192b205.png
    • 您可以尝试安装一个安全重启插件,然后重启 Jenkins 看看是否有效。
    • 嗯,这并没有做任何事情。但有人告诉我,我的代理设置已损坏,this page 显示为解决方案。这和它有什么关系吗?
    【解决方案2】:

    好的,我找到了解决方案。这太愚蠢了,我不敢相信我没有想到。

    在我的SonarQube.Analysis.xml 中找到

    ...Jenkins\.jenkins\tools\hudson.plugins.sonar.MsBuildSQRunnerInstallation\MSBuild_2.0\SonarQube.Analysis.xml

    我记得我已经写了用户名和密码,并且在某个时候我去了 SonarQube 中将其从默认值更改为其他值。这使得所有的构建都崩溃了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      • 2018-10-23
      • 2011-03-06
      相关资源
      最近更新 更多