TFS (vNext) 构建在步骤 'Publish Artifacts' 中随机失败

TFS (vNext) build randomly fails in step 'Publish Artifacts'

一段时间以来,我们的 TFS 2015 构建在 Publish Artifacts 步骤中随机失败。上传正常开始,在上传了一些文件后,进程停止并显示以下消息:##[error]A task was canceled.(见下文)。

通常我们可以通过简单地重新排队另一个构建来解决这个问题。然而,这很烦人并且与 CI/CD.

的想法相矛盾

一般错误消息让我不知道在哪里寻找问题。有什么想法吗?

  2016-10-26T12:47:47.8071677Z Files found locally 1772, 
  2016-10-26T12:47:47.8071677Z Files evaluated 1772, 
  2016-10-26T12:47:47.8071677Z Files left to evaluate 0., 
  2016-10-26T12:47:47.8071677Z Files created without upload 0, 
  2016-10-26T12:47:47.8071677Z Files uploaded 796 
  2016-10-26T12:47:47.8071677Z Files left to process 976 
  2016-10-26T12:47:47.8071677Z --------------------------- 
  2016-10-26T12:47:49.0421524Z Start: UploadArtifact 
  2016-10-26T12:47:49.0577804Z ##[error]A task was canceled. 
  2016-10-26T12:47:49.0577804Z End: UploadArtifact

更新

根据@Patrick-MSFT 的建议,我启用了 system.debug 并获得了更多错误详细信息:

   ---------------------------
   Files found locally 1852,
   Files evaluated 1852,
   Files left to evaluate 0.,
   Files created without upload 0,
   Files uploaded 1316
   Files left to process 536
   ---------------------------
   Start: UploadArtifact
   System.Threading.Tasks.TaskCanceledException: A task was canceled.
   End: UploadArtifact
   ******************************************************************************
   Finishing task: PublishBuildArtifacts
   ******************************************************************************
   System.Exception: Task PublishBuildArtifacts failed. This caused the job to fail. Look at the logs for the task for more details.
   at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.Run(IJobContext jobContext, IJobRequest job, IJobExtension jobExtension, CancellationTokenSource tokenSource)
   ******************************************************************************
   Finishing Build
   ******************************************************************************
   Worker Worker-89de22b8-0ad4-4541-ad73-a758c9783464 finished running job 89de22b8-0ad4-4541-ad73-a758c9783464

对于特殊构建任务的故障排除,可以试试这个:

  1. 在变量选项卡上,添加 system.debug 并将其设置为 true。 Select 到 允许在排队时间。
  2. 在资源管理器选项卡中,查看您完成的构建并单击构建 步骤查看其输出。

当您尝试隔离问题时,上述控制选项参数也很有用。

请仔细检查您是否在 'Publish Artifacts' 的控制选项中设置了 Timeout 代表此任务的分钟数。这可能会导致失败。

并且还使用相同的设置创建一个新的构建定义并尝试重现您的问题。

最后,我通过简单地将构建代理更新到最新版本解决了这个问题。使用的旧版本是 1.105.7。现在我更新到 2.105.6.