VSTS Minimatch模式排除.git文件夹

时间:2017-08-28 09:22:08

标签: azure-devops azure-pipelines azure-pipelines-build-task minimatch

我正在使用VSTS和构​​建任务 FTP上传。将文件和文件夹上载到我的FTP服务器时, .git 文件夹也始终复制到服务器。 我尝试将文件模式排除在 .git 文件夹中,如下所示:

**
!(**/.git/**)

我不知道为什么它不起作用但有没有办法用minimatch模式告诉任务明确排除文件夹?

1 个答案:

答案 0 :(得分:10)

FTP上传任务中文件模式选项的迷你匹配模式只能排除文件夹。例如,如果您使用!**\.git\**作为文件模式,它将只删除.git文件夹及其中的子文件夹,但这些文件夹中的文件仍会上传到FTP服务器。

如果您不希望将.git文件夹(包括其中的文件)上传到FTP,则可以在FTP上载任务之前添加复制文件任务。详细设置如下:

复制文件任务

源文件夹:$(Build.SourcesDirectory)

内容:

**
!**\.git\**

目标文件夹:$(Build.ArtifactStagingDirectory)\upload

FTP上传任务

您只需要更改以下设置,

源文件夹:$(Build.ArtifactStagingDirectory)\upload

文件模式:**

现在排除.git文件夹中的文件,所有文件和文件夹都上传到FTP服务器。