首页 > 解决方案 > 提取文件:处理“未找到文件”警告

问题描述

Extract files当任务找不到要提取的文件时,您如何处理?

Extract files如果没有提取文件,是否可以将任务设置为失败?这是一个示例任务

steps:
- task: ExtractFiles@1
  displayName: 'Extract files '
  inputs:
    archiveFilePatterns: '$(System.ArtifactsDirectory)\*.zip'
    destinationFolder: '$(System.ArtifactsDirectory)\bin'

但是,如果没有找到文件,它不会失败

2020-10-01T14:25:23.1175947Z 在目录下搜索:*.zip:E:\ba\n1_work\r16\a
2020-10-01T14:25:23.1287445Z 找到:0 个要提取的文件:

然后一个 ftp 上传任务什么也不做

2020-10-01T14:25:36.4142531Z ##[警告]找不到要上传的文件

发布管道很简单

我添加了 powershell 脚本来检查文件是否被提取

if (-not (Test-path $(System.ArtifactsDirectory)\bin\*) )
{
Throw New-Object System.ArgumentException("no files were extracted")
}

但是想知道如果没有提取或上传任何内容,是否有可能使 ExtractFiles@1 或 FtpUpload@2 任务失败?

问候

标签: azure-devops

解决方案


您可以使用市场上的其他任务来解压缩包。您可以尝试使用Unzip TaskZip and unzip directory build task而不是使用 Extract files 任务。

我用Unzip TaskZip and unzip directory build task进行了测试。当没有找到要解压缩的文件时,它们都工作得很好并且按预期失败。见下文

在此处输入图像描述

对于 FTP 上传,您可以查看FTP Uploader 任务


推荐阅读