如何使用DeleteFiles任务删除ADO Agent.BuildDirectory及子目录下所有.app文件
问题原因
你的配置无法生效主要有两个核心问题:
- 文件匹配规则不符合要求:Azure DevOps管道的文件匹配模式中,单独的
*.app只会匹配SourceFolder指定根目录下的.app后缀文件,不会递归扫描所有子目录。要匹配任意深度子目录下的目标文件,需要使用双星号通配符**代指所有层级的子目录。 - YAML语法缩进错误:现有配置中
inputs字段的缩进比displayName多了一级,不符合管道YAML的语法规范,会导致任务配置解析异常。
正确配置示例
- task: DeleteFiles@1 displayName: "Remove all *.app files from Agent.BuildDirectory" inputs: SourceFolder: $(Agent.BuildDirectory) Contents: '**/*.app'
扩展说明
如果需要同时删除多种后缀的文件,可以将Contents字段配置为多行规则,示例如下:
- task: DeleteFiles@1 displayName: "Remove multiple types of files" inputs: SourceFolder: $(Agent.BuildDirectory) Contents: | **/*.app **/*.pdb **/*.log
如果需要排除特定目录下的文件,可添加!开头的排除规则,例如!**/node_modules/**/*.app会跳过所有node_modules目录下的.app文件。
内容的提问来源于stack exchange,提问作者Luc van Vugt
相关产品推荐
相关产品推荐

