Linux代理部署Node.js应用:Copy Files Task无法找到工件
解决方案
核心问题定位
你把Copy Files任务的SourceFolder设置成了具体的zip文件路径,而该任务要求SourceFolder必须是文件夹路径——它会在指定文件夹下扫描匹配Contents规则的文件,所以才会出现"found 0 files"的提示。
直接复制zip文件的配置修正
- 修改
SourceFolder为zip文件所在的父文件夹:$(System.DefaultWorkingDirectory)/_NodeAPIs/drop - 修改
Contents为精准匹配该zip文件:APIs.zip - 目标文件夹保持
/node/testing/apis/不变
如果需要解压后复制内容
如果你的需求是把zip包内的文件部署到目标目录,而非复制zip本身,按以下步骤操作:
- 添加Extract Files任务,配置:
- Archive file patterns:
$(System.DefaultWorkingDirectory)/_NodeAPIs/drop/APIs.zip - Destination folder:
$(System.DefaultWorkingDirectory)/temp_unzip(可自定义临时路径)
- Archive file patterns:
- 重新配置Copy Files任务:
SourceFolder:$(System.DefaultWorkingDirectory)/temp_unzipContents:**(复制所有解压后的文件)- 目标文件夹:
/node/testing/apis/
额外排查技巧
- 在Copy Files任务前添加Bash任务,执行以下命令确认文件路径和权限:
# 查看源文件夹下的文件,确认文件名拼写(Linux区分大小写) ls -la $(System.DefaultWorkingDirectory)/_NodeAPIs/drop # 确保目标目录存在且有写入权限 mkdir -p /node/testing/apis/ && chmod 755 /node/testing/apis/
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

