【发布时间】:2018-06-13 07:40:41
【问题描述】:
我们最近将 TFS 从 TFS 2015 升级到 TFS 2018。我们将基础架构中的构建代理更改为新的代理版本 2.122.1
当开发人员提交他们的变更集或执行计划构建时,有时会按预期处理构建,但有时我们会在从 TFS 存储库检索源时收到奇怪的错误。
在构建日志中它们被记录为:
2018-01-03T15:01:25.6074314Z 查询工作区信息。
2018-01-03T15:01:26.5136788Z ##[error]XML 文档 (1, 1) 中存在错误。
如果我打开代理详细日志,我会得到以下信息:
[2018-01-03 15:01:25Z INFO ProcessInvoker] 启动进程:
[2018-01-03 15:01:25Z INFO ProcessInvoker] 文件名:'tf'
[2018-01-03 15:01:25Z INFO ProcessInvoker] 参数:'vc 工作区 /格式:xml /集合:http://servername:8080/tfs/ProjectCollection/ /loginType:OAuth /login:.,******** /noprompt'
[2018-01-03 15:01:25Z INFO ProcessInvoker] 工作目录: 'C:\Agent2017\_work\10\s'
[2018-01-03 15:01:25Z INFO ProcessInvoker] 要求退出代码为零: '真'
[2018-01-03 15:01:25Z INFO ProcessInvoker] 编码网站名称: windows-1252 ;代码页:'1252'
[2018-01-03 15:01:25Z INFO ProcessInvoker] 强制终止进程 取消:'假'
[2018-01-03 15:01:25Z INFO ProcessInvoker] 进程开始于 进程id 3524,等待进程退出。
[2018-01-03 15:01:25Z INFO JobServerQueue] 尝试追加 1 批 web 控制台线,成功率:1/1。
[2018-01-03 15:01:25Z INFO JobServerQueue] 尝试上传 1 个日志文件 或附件,成功率:1/1。
[2018-01-03 15:01:26Z INFO ProcessInvoker] 已完成进程并退出 代码 0,经过时间 00:00:00.5240505。
[2018-01-03 15:01:26Z ERR StepsRunner] 从步骤中捕获异常: System.InvalidOperationException:XML 文档中存在错误 (1, 1)。 ---> System.Xml.XmlException: 根级别的数据是 无效的。第 1 行,位置 1。在 System.Xml.XmlTextReaderImpl.Throw(异常 e)在 System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() 在 System.Xml.XmlTextReaderImpl.ParseDocumentContent() 在 System.Xml.XmlTextReaderImpl.Read() 在 System.Xml.XmlReader.MoveToContent() 在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTFWorkspaces.Read5_Workspaces() --- 内部异常堆栈跟踪结束 --- 在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader、字符串 encodingStyle、对象事件)在 System.Xml.Serialization.XmlSerializer.Deserialize(TextReader 文本阅读器)在 Microsoft.VisualStudio.Services.Agent.Worker.Build.TFCommandManager.d__31.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.Services.Agent.Worker.Build.TfsVCSourceProvider.d__3.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.Services.Agent.Worker.Build.BuildJobExtension.d__17.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.Services.Agent.Worker.JobExtensionRunner.d__20.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.Services.Agent.Worker.StepsRunner.d__1.MoveNext() [2018-01-03 15:01:26Z INFO StepsRunner] 步骤结果:失败
代理似乎正在尝试获取可用工作区的列表,但它失败了。如果我尝试在运行代理的计算机上以适当的权限执行命令,我会得到正确的工作区列表。
【问题讨论】:
标签: tfs build-agent