Jenkins使用Publish Over SSH插件不能将包发送到目标的问题

Jenkins使用Publish Over SSH插件不能将包发送到目标的问题

问题描述

使用jenkins的Publish Over SSH插件通过ssh方式向目标服务器发送打好的jar包时,jenkins日志没有任何报错,但是目标服务器没有接收到jar。

日志解读

未成功发送jar的日志
Jenkins使用Publish Over SSH插件不能将包发送到目标的问题
成功发送jar的日志
Jenkins使用Publish Over SSH插件不能将包发送到目标的问题
详细对比jenkins日志,发现连接ssh通道后,并没有进行put操作,正常情况应该打开SETP后,到指定目录下,put jar包

解决

Jenkins使用Publish Over SSH插件不能将包发送到目标的问题
Name : 这里是自定义的ssh远程服务器,如果有多台,点击add post-build step 继续添加
Source files : 源文件地址,相对地址
Remove prefix : 忽略前缀路径
Remote directory : 远程服务器要保存的文件目录
Exec command : 直接写shell脚本,或远程服务器的脚本名称

Source files必须配置为jar包的相对地址,此相对地址即workspace后面的地址(不包含workspace)
例如:目标文件路径是/var/lib/jenkins/jobs/xxx-web/workspace/target/xxx-web-1.1.jar
那么你的
Source files的值就是target/xxx-web-1.1.jar
Remove prefix就是target/
Remote directory的值取决于Jenkins -> configuration -> Publish over SSH设置中的Remote Directory参数
Jenkins使用Publish Over SSH插件不能将包发送到目标的问题

Jenkins -> configuration -> Publish over SSH设置中的Remote Directory参数值拼上 任务构建-> Post-build Actions 的 Remote directory参数值即为 远程服务器要保存的文件目录