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

Azure Pipeline:SSH命令任务能否复制流水线制品至Ubuntu服务器?

问题解决:通过SSH命令任务复制Azure Pipeline制品到Ubuntu服务器

可以用SSH相关命令完成制品复制,但你的测试命令逻辑错误,导致出现文件找不到的问题。

错误原因

你在SSH任务里执行的sudo cp $(System.DefaultWorkingDirectory)/_Lobi.Web/drop /root/test -r是在远程Ubuntu服务器上运行的,而$(System.DefaultWorkingDirectory)是Azure Pipeline代理机器(Windows系统,路径以D盘开头)的本地路径,远程服务器根本不存在这个路径,所以会报cp: cannot stat 'D:ar1a/_Lobi.Web/drop': No such file or directory。

正确实现方式

要把代理机器上的制品传到远程服务器,需要在代理机器上执行跨机器传输命令(比如scp或rsync),通过SSH连接到远程服务器完成文件推送。

方法1:用Command Line任务执行scp命令

在Pipeline中添加一个「Command line」任务,执行以下命令(替换成你的远程服务器信息):

scp -r $(System.DefaultWorkingDirectory)/_Lobi.Web/drop root@你的服务器IP:/root/test
  • 确保代理机器已配置SSH免密登录远程服务器(可通过Pipeline的SSH服务连接密钥配置,或在代理机器上提前部署密钥)。
  • 如果需要sudo权限,可在远程服务器上给目标目录设置合适的权限,避免传输后出现权限问题。

额外说明

关于你遇到的「Copy Files over SSH」任务连接失败问题:虽然SSH命令任务能正常连接,但两个任务的认证逻辑可能存在细微差异,比如Copy Files over SSH可能需要额外的SFTP支持,你可以检查远程服务器的/etc/ssh/sshd_config配置,确认是否开启了SFTP子系统(通常包含Subsystem sftp /usr/lib/openssh/sftp-server配置项)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 23:16:01