Azure DevOps Server 2020 - 发布工件忽略文件复制选项

Azure DevOps Server 2020 - Publish Artifact ignoring File Copy Options

我们有一个已经运行了一两年的构建管道。这会构建并创建一些工件 - ASP.Net 网络应用程序、windows 服务等。这里的问题与 ASP.Net 网络应用程序有关。

我们在构建中添加了一些 REACT 组件。现在有一个巨大的 \React\node_modules\ 文件夹,其中包含数万个文件。我想从“发布工件”步骤中排除 \React\node_modules 文件夹。我编辑了这一步,在文件复制选项设置下添加: /XD react/node_modules

我有一个“发布工件”任务,其中“/XD react/node_modules”设置为文件复制选项。但是,当我 运行 构建管道时,它仍然会复制 react/node_modules 文件夹中的所有内容。

当我查看原始日志时,我没有看到它作为参数传递到 Robocopy 命令中。我只在 Publish Artifact 步骤的日志文件中看到这个:

2022-04-13T00:24:47.8605686Z ##[命令]robocopy.exe /E /COPY:DA /NP /R:3 /MT:8 "C:\agent_agentwork\s\Website" "c:\builds\HF\HF_3.8.1.75\Website" "*"

知道为什么它在这里不起作用吗?

这是发布工件任务中的错误。 2019 年已为此记录了一个 github 问题 (https://github.com/microsoft/azure-pipelines-tasks/issues/11451)。遗憾的是,它还没有修复。

等待修复,您可以通过放置一个显式调用 robocopy 的构建步骤将构建输出复制到临时位置(使用 /XD 开关)来解决这个问题。然后放置从该临时位置复制的 'Publish artifact' 步骤。