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

Azure DevOps CD部署报错:找不到指定路径D:\a\1\website的包

解决Azure DevOps CD流水线部署Azure Web Apps时的包路径问题

核心问题分析

报错No package found with specified pattern的本质是配置的路径未指向实际存在的zip制品文件——要么路径本身错误,要么未正确下载CI发布的制品,或是CI发布的并非zip文件而是文件夹。

分步解决方案

1. 验证CI流水线的制品发布配置

  • 检查CI中的发布任务(Publish Pipeline Artifacts或Publish Build Artifacts):
    • 确保发布的是zip文件而非文件夹,比如MsBuild生成的zip路径通常为$(Build.ArtifactStagingDirectory)/website.zip,发布任务的Artifact publish location需指向该文件,而非整个目录。
    • 确认制品名称确实为website,且任务日志显示zip文件已成功发布。

2. 在CD流水线中正确下载制品

  • 必须添加Download Pipeline Artifacts任务,配置如下:
    • Artifact name:填写CI发布的制品名website
    • Destination directory:可留空(默认下载到$(Pipeline.Workspace)),或指定路径如$(Pipeline.Workspace)/website
  • 执行该任务后,查看日志获取zip文件的实际路径,例如可能是$(Pipeline.Workspace)/website/website.zip。

3. 配置AzureRmWebAppDeployment@4的package参数

不要写固定的文件夹路径,需指向具体的zip文件,推荐以下几种方式:

  • 使用通配符匹配(最稳妥,适配不同下载路径):
    - task: AzureRmWebAppDeployment@4
      inputs:
        package: '$(Pipeline.Workspace)/**/website.zip'
    
  • 使用确切路径(根据Download任务的日志确认):
    - task: AzureRmWebAppDeployment@4
      inputs:
        package: '$(Pipeline.Workspace)/website/website.zip'
    
  • 如果CI和CD在同一流水线的不同阶段,可直接引用CI的工件路径:
    - task: AzureRmWebAppDeployment@4
      inputs:
        package: '$(Build.ArtifactStagingDirectory)/website.zip'
    

4. 排查辅助步骤

  • 添加PowerShell任务,执行命令查看路径结构,确认zip位置:
    Get-ChildItem -Path $(Pipeline.Workspace) -Recurse
    
  • 检查AzureRmWebAppDeployment@4任务的package参数是否包含.zip扩展名,不能仅写文件夹路径(比如D:\a\1\website是文件夹,实际需要的是D:\a\1\website\website.zip)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:53:18