Jenkins 通过 SSH 发布无法更改到远程目录
Posted
技术标签:
【中文标题】Jenkins 通过 SSH 发布无法更改到远程目录【英文标题】:Jenkins publish over SSH failed to change to remote directory 【发布时间】:2017-02-16 23:21:44 【问题描述】:我正在使用 Jenkins 通过 SSH 发布插件将文件传输到远程服务器。
当我配置 Publish over SSH 插件并指定远程目录时,测试配置总是失败并出现以下错误:
jenkins.plugins.publish_over.BapPublisherException:更改失败 到远程目录 [C:\zzTest]
但是,如果我将远程目录字段留空,我会在测试配置时收到一条成功消息。
关于我在这里做错了什么有什么想法吗?该目录肯定存在于远程服务器上。
【问题讨论】:
ssh 服务器可能会限制您对文件系统的访问。大多数服务器软件都这样做。 情况并非如此,因为当我使用 putty SSH 到那台机器时,我能够更改到该目录。我只在通过 ssh jenkins 插件测试发布时收到此错误。 你和 Jenkins 使用相同的登录名,你可以通过 ssh 在其中创建目录和文件? 是的,没错。 我注意到远程目录路径是 Windows 风格的。您确定“通过 SSH 发布”插件支持 Windows 路径吗?另外,您在 WINdows 上使用什么 SSH 服务?您可以尝试在常见情况下使用正斜杠“c:/zzTest”,或者专门针对基于 cygwin 的安装尝试使用“/cydgrive/c/zzTest”。 【参考方案1】:所以看来问题在于在 Remote Directory 字段中指定绝对路径。
解决方法是指定相对路径。所以在上面的场景中 /zzTest 是应该输入到 Remote Directory 字段中的值。
【讨论】:
【参考方案2】:-
选择“sftp”,将“SFTP home path”改为“C:\”
将“ssh 服务器远程目录”更改为“/zzTest”
测试配置
【讨论】:
以上是关于Jenkins 通过 SSH 发布无法更改到远程目录的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins编译一个Spring Boot项目并通过SSH推送到远程
Jenkins编译一个Spring Boot项目并通过SSH推送到远程
大坑,jenkins 配置publish over ssh bash 插件,远程部署,无法执行shell脚本