Azure DevOps中NodeJS应用发布失败:路径错误问题求助
Azure DevOps部署Node.js应用发布失败问题排查与解决
用户问题
在Azure DevOps中部署Node.js应用时,发布流程因路径配置错误失败,相关ExtractFiles@1任务的YAML配置及错误如下:
任务YAML配置
steps: - task: ExtractFiles@1 displayName: 'Extract files ' inputs: archiveFilePatterns: '$(System.DefaultWorkingDirectory)/_NodeJS-Node.js With Grunt-CI/drop/$(Build.BuildId).zip' destinationFolder: .
错误截图

问题分析与解决
根因
- 路径定位错误:
$(System.DefaultWorkingDirectory)在发布阶段的指向与构建阶段不同,硬编码的构建产出路径无法正确找到zip包 - 目标目录歧义:
destinationFolder: .使用当前目录,发布代理的当前工作目录可能无写入权限或并非预期路径
修正后的配置
steps: - task: ExtractFiles@1 displayName: 'Extract files' inputs: # 使用发布阶段标准工件目录变量,自动匹配构建产出的zip包 archiveFilePatterns: '$(Pipeline.Workspace)/**/$(Build.BuildId).zip' # 指定明确的提取目录,避免路径歧义 destinationFolder: '$(System.DefaultWorkingDirectory)/app-files' # 提取前清空目标目录,确保环境干净 cleanDestinationFolder: true
关键说明
$(Pipeline.Workspace):Azure DevOps发布阶段统一的工件存储目录,能可靠跨阶段获取构建产出,无需硬编码项目名称和路径- 明确目标目录:任务会自动创建不存在的目录,避免权限或路径不存在问题
- 清理目标目录:防止之前部署的残留文件干扰本次部署
内容的提问来源于stack exchange,提问作者Salman
相关产品推荐
相关产品推荐

