Jenkins文件发送到远程服务器不生效

简介

我们一般会使用push over ssh插件实现文件远程复制功能,但是在用的过程中有时会出现文件无法复制的问题,下边我描述下通过实践总结的经验。
首先,push over ssh文件复制有个限制 只能复制当前任务所在目录下的文件,很多时候文件无法复制就是因为这个限制导致的。那么我们可以换一种思路,在使用push over ssh插件之前,先把需要的文件复制到当前任务所在目录下。

第一步:文件复制到任务目录下

选择“执行shell”,即在jenkins所在主机上执行shell脚本,这里的脚本不受任务目录限制,几乎可以操作主机上的任何文件(特殊文件除外)。
Jenkins文件发送到远程服务器不生效_第1张图片
编写脚本如下(具体的复制命令可根据实际需求来定)
特别注意:文件复制到当前任务所在目录即可,也可以复制到当前任务的子目录。
Jenkins文件发送到远程服务器不生效_第2张图片

第二步:使用push over ssh插件实现文件远程复制

Jenkins文件发送到远程服务器不生效_第3张图片

特别注意:远程主机目录,这里是相对目录,即使目录前加 / 也会自动转为相对目录。绝对路径在定义远程主机时指定,如下图
备注:当Remote Directory为空时,目录默认为username所在的home目录(如root用户就是/root, test用户就是/home/test)

Jenkins文件发送到远程服务器不生效_第4张图片

第三步:保存执行即可

测试:如果在远程主机上找不到自己复制过去的文件,那么可以复制一个文件名独特的文件,执行完后,在远程主机 通过 find / -name file-name 全局搜索,看到底被复制到了何方

你可能感兴趣的:(#,Jenkins,jenkins文件复制失效,jenkins远程复制,jenkins文件发送失效,jenkins文件无法远程发送)