You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipelines中FTP-Upload的FilePatterns规则不生效问题排查

问题分析与解决

你的FtpUpload@2任务的filePatterns配置存在两个核心问题:

  1. 排除规则未覆盖目录本身
    当前的!**/.git/**仅会排除.git目录下的所有文件和子目录,但不会排除.git目录本身。在preservePaths: true的配置下,FTP任务会保留本地目录结构,即使目录为空,也会在远程服务器创建对应的空目录。

  2. 匹配逻辑的精确性不足
    现有排除规则对深层子内容的过滤可能存在遗漏,导致部分本应被排除的文件仍被上传。

修正后的filePatterns配置

将排除规则修改为带末尾斜杠的形式,直接匹配整个目录及其所有子内容,确保完全过滤目标目录:

filePatterns: |
  **
  !**/.git/
  !**/.idea/
  !**/blog/
  !**/node_modules/

或者采用更严谨的写法(同时明确排除目录本身和其下所有内容):

filePatterns: |
  **
  !**/.git
  !**/.git/**
  !**/.idea
  !**/.idea/**
  !**/blog
  !**/blog/**
  !**/node_modules
  !**/node_modules/**

额外注意点

  • 当前rootDirectory使用$(System.DefaultWorkingDirectory)的配置是正确的,所有匹配规则都会基于该目录展开。
  • 若远程服务器已存在这些目标目录,可手动清理或在Pipeline中添加额外步骤执行远程目录清理(操作前请确认数据安全)。

内容的提问来源于stack exchange,提问作者MAESTRO_DE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:22:37