Azure DevOps 将其他文件复制到已发布的工件 - 不反映

Azure DevOps copy additional files to published artifacts - Not reflecting

我有一个发布构建工件步骤,然后是一个复制步骤,用于将我的 UI 编译内容放入生成的文件夹中。虽然复制步骤成功,并且我可以在日志中看到它已将我需要的内容复制到 drop 中的指定文件夹,但是当我在构建过程结束时下载工件时,这些文件不存在。

我是不是漏掉了一些相对路径?我的文件是否被复制到不属于最终工件的文件夹中?下面是我在 yaml

中的最后两个任务
- task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
        ArtifactName: 'drop'
        publishLocation: 'Container'
    
    - task: CopyFiles@2
      inputs:
        SourceFolder: 'my-ui\dist\wwwroot\assets'
        Contents: '**'
        TargetFolder: 'drop\MyProj\wwwroot\assets'
        OverWrite: true
        CleanTargetFolder: true

publish build artifact任务之前,您应该使用copy task将所需内容复制到文件夹$(Build.ArtifactStagingDirectory)中的指定文件夹。见下文:

 - task: CopyFiles@2
      inputs:
        SourceFolder: 'my-ui\dist\wwwroot\assets'
        Contents: '**'
        TargetFolder: '$(Build.ArtifactStagingDirectory)\MyProj\wwwroot\assets'
        OverWrite: true
        CleanTargetFolder: true

- task: PublishBuildArtifacts@1
      inputs:
        PathtoPublish: '$(Build.ArtifactStagingDirectory)'
        ArtifactName: 'drop'
        publishLocation: 'Container'

Publish build artifact任务将发布$(Build.ArtifactStagingDirectory)中的内容,并将它们存储在不在本地代理机器上的Azure Pipelines(容器)中。

因此,如果您在 Publish build artifact 任务之后使用 copy task。内容仍在本地代理机器上。它们不会复制到 Azure Pipelines 容器。