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

Azure DevOps跨流水线工件下载失败:如何从DashboardBuild下载至DashboardPc.Test?

问题分析

你的Build流水线使用了PublishBuildArtifacts@1的publishLocation: FilePath参数,这会将构建产物发布到运行Build的代理服务器(DashboardBuild)本地路径D:\DashboardsBuilds\drop,而非Azure DevOps的集中工件存储库。

Deploy流水线的DownloadBuildArtifacts@1任务默认从Azure DevOps集中工件库下载,但当前配置相当于让系统去部署目标服务器(DashboardPc.Test)的本地查找D:\DashboardsBuilds\drop,自然会找不到——因为这个路径仅存在于DashboardBuild服务器上。

解决方案

要实现跨服务器的工件下载与部署,需修改Build流水线的工件发布方式,将产物上传到Azure DevOps集中工件库,再让Deploy流水线从库中下载到目标服务器。

1. 修改Build流水线的工件发布配置

将PublishBuildArtifacts@1任务的publishLocation改为Container(Azure DevOps默认值),构建产物会上传到项目的集中工件存储库,而非代理本地:

pool:
  name: DashboardBuild
steps:

- script: 'npm run build-dashboard'
  displayName: 'Build all sites'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(Agent.BuildDirectory)\s\dist\'
    publishLocation: Container # 改为上传到Azure DevOps集中工件库
    # 移除TargetPath参数,Container模式不需要本地路径

2. 确认Deploy流水线的配置有效性

你的Deploy流水线当前的DownloadBuildArtifacts@1配置已正确指向Build流水线(pipeline: '36'),只要Build流水线将产物发布到集中库,该任务就能在任何授权的代理服务器(包括DashboardPc.Test)上下载到工件。

另外需注意:Deploy流水线的deployment作业关联了environment: 'DashboardPc.Test',请确保该环境中配置的目标服务器是DashboardPc.Test,且该服务器已注册为Azure DevOps代理,这样部署步骤会直接在目标服务器上运行,下载的工件会存入该服务器的$(System.ArtifactsDirectory)路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:58:16