【问题标题】:VSTS Minimatch pattern to exclude .git folderVSTS Minimatch 模式排除 .git 文件夹
【发布时间】:2017-08-28 09:22:08
【问题描述】:

我正在使用 VSTS 和构建任务 FTP 上传。当文件和文件夹上传到我的 FTP 服务器时,.git 文件夹也总是被复制到服务器上。 我尝试使用如下文件模式排除 .git 文件夹:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    复制文件任务

    源文件夹:$(Build.SourcesDirectory)

    内容:

    **
    !**\.git\**
    

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

    FTP 上传任务

    您只需要更改以下设置,

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

    文件模式:**

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

    【讨论】:

    • 这确实似乎解决了这个问题,我发现在这种情况下文档有点误导 tbh
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 2023-04-07
    • 2014-12-16
    相关资源
    最近更新 更多