You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps无法检索工件:已发布工件却无法查看

问题:发布工件后在另一个作业中无法通过Build.ArtifactStagingDirectory找到内容

你在buildAnatomy作业中通过PublishPipelineArtifact@1成功发布了名为anatomy-artifact的工件,但在依赖该作业的deployBucket作业里执行ls -al '$(Build.ArtifactStagingDirectory)'时看不到任何内容,原因和解决方法如下:

原因

  • Azure DevOps中每个作业都运行在独立的虚拟机或容器环境中,$(Build.ArtifactStagingDirectory)是当前作业的本地临时目录,不同作业的这个目录完全隔离,不会自动同步内容。
  • 发布工件到pipeline只是将工件上传到Azure DevOps的工件存储中,并不会自动复制到后续作业的本地目录,必须显式执行下载操作才能访问。

解决方案

在deployBucket作业的steps中添加DownloadPipelineArtifact任务,把发布的工件下载到当前作业的$(Build.ArtifactStagingDirectory)目录,修改后的YAML如下:

- job: deployBucket
  displayName: 'Deploy Bucket'
  dependsOn: buildAnatomy
  condition: eq(dependencies.buildAnatomy.result,'Succeeded')
  pool:
    vmImage: "ubuntu-20.04"

  steps:
    - task: DownloadPipelineArtifact@2
      displayName: 'Download Anatomy Artifact'
      inputs:
        artifact: 'anatomy-artifact'
        path: '$(Build.ArtifactStagingDirectory)'

    - task: Bash@3
      displayName: "Upload contents to bucket"
      inputs:
        targetType: "inline"
        script: |
          ls -al '$(Build.ArtifactStagingDirectory)'

添加下载任务后,工件会被同步到当前作业的$(Build.ArtifactStagingDirectory)下,此时执行ls命令就能看到发布的内容了。

内容的提问来源于stack exchange,提问作者dman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:10:39