工件发布有时在矩阵策略构建管道中失败(随机)

时间:2019-07-12 07:44:31

标签: azure azure-devops azure-pipelines

我最近开始使用Azure DevOps将应用程序部署到Azure服务,到目前为止,我喜欢我所看到的。

我似乎无法解决的唯一问题是,当我使用矩阵策略来运行快速运行的测试时,最终会出现发布工件的随机失败次数< / strong>,这会导致构建失败

Build failed because 2 out of 4 strategies were not able to publish

打开错误详细信息时,它指出 Blob不完整,下面是完整详细信息的摘要。

Uploading 1 files
Uploading 'drop/18.zip' (16%)
Uploading 'drop/18.zip' (33%)
Uploading 'drop/18.zip' (50%)
Uploading 'drop/18.zip' (66%)
Uploading 'drop/18.zip' (83%)
Total file: 1 ---- Processed file: 0 (0%)
Fail to upload '/home/vsts/work/1/a/18.zip' due to 'Blob is incomplete (missing block). Blob: c2569a8734a4e911bcd10003ffded5ab, Expected Offset: 0, Actual Offset: 8388608'.
Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException: Blob is incomplete (missing block).

由于构建过程在DevOps基础架构上运行,所以我还没有弄清楚如何调试此步骤。此时,当不使用矩阵策略和使用单一版本策略时,我可以成功运行构建。

这是Azure DevOps的已知问题,是否有解决此问题的方法?

这是一个公共项目,您可以查看https://dev.azure.com/In2itvof/AzureBlob/_build/results?buildId=18来查看错误。

这是我的azure-pipelines.yml配置中的摘录。您可以在GitHub/DragonBe/AzureBlob上查看完整的源代码。

strategy:
  matrix:
    php71:
      php_version: "7.1"
    php72:
      php_version: "7.2"
    php73:
      php_version: "7.3"
    php74:
      php_version: "7.4"
  maxParallel: 4

在两次测试之间并发布其结果

  - task: ArchiveFiles@2
    inputs:
      rootFolderOrFile: '$(system.defaultWorkingDirectory)'
      includeRootFolder: false

  - task: PublishBuildArtifacts@1

因此,问题在于由于内部故障而无法正确发布工件。是否有人遇到过相同的问题或找到了解决方案?

1 个答案:

答案 0 :(得分:0)

当构建的两个并发分支试图上载相同资产时,我们在构建中遇到了这一问题。您可能要检查这里是否正在发生这种情况。