Azure devops 分析yaml管道中的源位置时出错
我在运行Azure DevOps管道时遇到以下错误: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:
[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文件复制任务的源路径。请尝试一下,任何进展,请随时告诉我。