【问题标题】:TFS (vNext) build randomly fails in step 'Publish Artifacts'TFS (vNext) 构建在“发布工件”步骤中随机失败
【发布时间】:2023-04-04 00:38:01
【问题描述】:

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

通常我们可以通过简单地重新排队另一个构建来解决这个问题。然而,这很烦人,并且与 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

【问题讨论】:

  • 构建失败的概率是多少?并且这个错误是否只发生在这个特殊的构建定义中?
  • 粗略估计在五个构建之一中构建失败。我只在这个特定的版本上观察到这个问题。然而,这个构建是生成最多文件的构建,也是最经常构建的构建。

标签: tfs tfs-2015 azure-pipelines


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    请仔细检查您是否在“发布工件”的控制选项中设置了超时,它以分钟为单位表示此任务。这可能会导致失败。

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

    【讨论】:

    • 我已启用 system.debug 并获得了更多错误详细信息(请参阅相关更新)。控制选项中似乎无法设置超时(我们使用的是 TFS 2015.3)。
    • 我也收到此错误。我也没有看到超时选项。
    猜你喜欢
    • 2016-11-27
    • 2022-01-17
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 2018-08-29
    • 1970-01-01
    • 2018-05-12
    相关资源
    最近更新 更多