【问题标题】:TFS copy and deploy: exclude files using minimatchTFS 复制和部署:使用 minimatch 排除文件
【发布时间】:2017-11-22 20:23:12
【问题描述】:

根据manydifferentSO-questions,应该可以在新的 TFS 构建系统中使用“复制和发布构建工件”任务来排除正在复制/部署的文件。

但是它对我不起作用(它不排除任何东西)。我可能做错了什么:

【问题讨论】:

    标签: tfs


    【解决方案1】:

    这应该可以(我知道这个问题很老,但我自己需要一个答案)

    **\!(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)

    【讨论】:

      【解决方案2】:

      这是构建任务“Copy and Publish Build Artifacts”的一个已知问题bitbonk

      问:这一步没有产生我预期的结果。我该如何解决?

      这一步有几个已知问题:

      • 某些 minimatch 模式不起作用。
      • 它消除了所有匹配路径的最常见根路径。

      来源链接:Utility: Copy and Publish Build Artifacts

      好吧,这与您的 minimatch 设置无关。它不适用于该构建任务。当然,您也可以使用 Copy Files 任务检查您的 minimatch 来验证这一点。

      目前,您可以避免这些问题,改为使用Copy Files stepPublish Build Artifacts step

      注意:如果在复制文件这一步还是不行,你在使用 minimatch 时要注意文件的架构。肯定有问题。

      【讨论】:

        【解决方案3】:

        该任务根据您输入的内容一行一行地复制文件和“!”仅在复制过程中排除文件,不会删除已复制的文件。因此,使用您在第一行输入的“**\*”,所有文件都已被复制和发布。您需要删除“内容”中的第一行。并且对于被排除的文件,如果在同一折叠中,则需要将它们排除在一行中。例如:使用

        !?(1.txt|2.txt) 
        

        排除 1.txt 和 2.txt 文件而不是使用

        !1.txt
        !2.txt
        

        【讨论】:

        • 我试过很多不同的组合,我试过!?(**\System.Windows.Interactivity.resources.dll|**\*.dll.co‌​nfig|**\*fluentasser‌​tions*)我试过!+(**\System.Windows.Interactivity.resources.dll|**\*.dll.co‌​nfig|**\*fluentasser‌​tions*)我试过**\!(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)我试过**\!(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)我试过**\!?(System.Windows.Interactivity.resources.dll|*.dll.config|*fluentassertions*)。它要么不排除任何内容,要么排除所有内容,但从不排除指定的文件
        猜你喜欢
        • 1970-01-01
        • 2012-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多