Azure DevOps部署Azure App Service时找不到指定模式zip包如何解决
问题根因
部署任务的部署包搜索路径配置错误,匹配不到构建环节生成的压缩包:
- 构建环节生成的部署包路径为
D:\a\1\a\s.zip,对应Azure DevOps内置变量为$(Build.ArtifactStagingDirectory)(构件暂存目录) - 发布构件环节已经将整个
D:\a\1\a目录的内容上传到名为drop的构件库 - 部署环节当前配置的搜索路径为
D:\a\1\s\**\*.zip,对应$(System.DefaultWorkingDirectory)(源码目录),该目录下不存在构建生成的部署包,因此报错。
解决步骤
- 步骤1:确认部署前已完成构件下载
如果你的流水线是多阶段流水线,或部署流程是独立的发布管道,需要在Azure Web App部署任务前添加「下载构建构件」任务:- 构件来源选择当前对应的构建流水线
- 构件名称填写
drop - 下载路径可保留默认配置
- 步骤2:修改部署任务的包搜索路径
根据你的流水线结构选择对应路径配置,替换Azure Web App部署任务中「包或文件夹」的原有配置:- 单阶段流水线(构建、部署在同一个Job中):填写
$(Build.ArtifactStagingDirectory)/**/*.zip - 多阶段/独立发布管道(已提前下载drop构件):填写
$(System.DefaultWorkingDirectory)/drop/**/*.zip
- 单阶段流水线(构建、部署在同一个Job中):填写
- 可选验证步骤
若修改后仍报错,可在部署任务前添加PowerShell任务,执行以下命令打印所有目录下的zip包路径,确认部署包实际位置:Get-ChildItem -Path $(System.DefaultWorkingDirectory) -Recurse -Filter *.zip | Select-Object FullName
内容的提问来源于stack exchange,提问作者John S
相关产品推荐
相关产品推荐

