Azure devops 分析yaml管道中的源位置时出错

Azure devops 分析yaml管道中的源位置时出错,azure-devops,Azure Devops,我在运行Azure DevOps管道时遇到以下错误: [ERROR] Error parsing source location "D:\a\1\drop": Failed to enumerate directory D:\a\1\drop\ with file pattern *. The system cannot find the path specified. (Exception from HRESULT: 0x80070003) yaml代码: steps:

我在运行Azure DevOps管道时遇到以下错误:

[ERROR] Error parsing source location "D:\a\1\drop": Failed to enumerate directory D:\a\1\drop\ with file pattern *. The system cannot find the path specified. (Exception from HRESULT: 0x80070003)
yaml代码:

steps:
     - task: CopyFiles@2
       inputs:
        Contents: 
            test/templates/templatev.json
        TargetFolder: '$(build.artifactstagingdirectory)'

     - task: PublishBuildArtifacts@1
       displayName: 'Publish ARM Templates: templates'
       inputs:
          PathtoPublish: '$(Build.ArtifactStagingDirectory)'
          ArtifactName: drop

    - task: AzureFileCopy@3
           inputs:
              SourcePath: '$(Pipeline.Workspace)/drop'
              azureSubscription: '$(azureSubscription)'
              Destination: 'AzureBlob'
              storage: 'testblob'
              ContainerName: 'testfolder'
              BlobPrefix: '$(Build.BuildId)'
              outputStorageUri: 'testUrl'
在最后一步中,它无法找到源路径。

通常用于将文件或直接从代理计算机复制到Azure blob或Azure VM

执行此任务时,代理计算机上必须存在要复制的源文件或直接复制的源文件

在您共享的步骤中,我没有看到在代理计算机上创建目录“$(Pipeline.Workspace)/drop”并将工件复制或生成到此目录的任何步骤。默认情况下,管道运行期间不会自动生成此目录。因此,此目录不存在

注意:将不会生成文件夹,将其放入代理计算机上的$(Pipeline.Workspace)。它只是在每个管道运行的详细信息页面上生成drop文件夹,以存储已发布的运行工件。

在您的例子中,我注意到您已经将构建工件复制到代理计算机上的$(build.artifactstagindirectory)目录中。如果要将生成工件复制到Azure blob,可以在Azure文件复制任务上将源路径设置为$(build.artifactstagingdirectory)

通常用于将文件或直接从代理计算机复制到Azure blob或Azure VM

执行此任务时,代理计算机上必须存在要复制的源文件或直接复制的源文件

在您共享的步骤中,我没有看到在代理计算机上创建目录“$(Pipeline.Workspace)/drop”并将工件复制或生成到此目录的任何步骤。默认情况下,管道运行期间不会自动生成此目录。因此,此目录不存在

注意:将不会生成文件夹,将其放入代理计算机上的$(Pipeline.Workspace)。它只是在每个管道运行的详细信息页面上生成drop文件夹,以存储已发布的运行工件。


在您的例子中,我注意到您已经将构建工件复制到代理计算机上的$(build.artifactstagindirectory)目录中。如果您想将构建工件复制到Azure blob,可以在Azure文件复制任务中将源路径设置为$(build.artifactstagindirectory)

嗨@Lakshmi Prasanna,事情进展如何?您是否按照我上面的建议尝试过将目录设置“$(build.artifactstagingdirectory)”作为Azure文件复制任务的源路径?这对你有帮助吗?如果还需要将其他工件复制到Azure blob,则可以在代理计算机上的工作区中创建一个目录,并将所有工件(包括“$(build.artifactstagingdirectory)”中的工件)复制到此目录中,然后将此目录设置为Azure文件复制任务的源路径。请尝试一下,有任何进展,请随时告诉我。嗨@Lakshmi Prasanna,事情进展如何?您是否按照我上面的建议尝试过将目录设置“$(build.artifactstagingdirectory)”作为Azure文件复制任务的源路径?这对你有帮助吗?如果还需要将其他工件复制到Azure blob,则可以在代理计算机上的工作区中创建一个目录,并将所有工件(包括“$(build.artifactstagingdirectory)”中的工件)复制到此目录中,然后将此目录设置为Azure文件复制任务的源路径。请尝试一下,任何进展,请随时告诉我。