我最近开始使用Azure DevOps将应用程序部署到Azure服务,到目前为止,我喜欢我所看到的。
我似乎无法解决的唯一问题是,当我使用矩阵策略来运行快速运行的测试时,最终会出现发布工件的随机失败次数< / strong>,这会导致构建失败。
打开错误详细信息时,它指出 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
因此,问题在于由于内部故障而无法正确发布工件。是否有人遇到过相同的问题或找到了解决方案?
答案 0 :(得分:0)
当构建的两个并发分支试图上载相同资产时,我们在构建中遇到了这一问题。您可能要检查这里是否正在发生这种情况。