Jenkins Publish over SSH插件推送到服务器指定目录的时候报错

报错内容如下:

 

解决方式:

1,打开执行部署的控制台输出

 经过分析,是执行的目标SSH Server目录不正确,目标服务器找不到执行的目录,也就是说发送到目标服务器的文件目录不正确,需要按照如下配置,指定SSH Sever Transfer set。

2,指定SSH Sever Transfer set

        其中包括几个参数如下

参数 说明
Source files

SSH 发送文件到目标服务器的文件,默认路径是当前任务执行的工作空间(workspace),多个文件空格分开

拷贝到目标机器的目录为:

${xxxxxx}/${Remote directory}/[Remove prefix]/${Source files}

Remove prefix拷贝到目标服务器SSH Server时Remove prefix 对应的目录被移除
Remote directory目标服务器的地址,注意这个地址的父目录是在SSH sever配置的远程目录(Remote directory)

Exec command 

在目标SSH Server执行的命令

重新配置如下:

重新进行构建,成功构建

 补充Publish over SSH在 Jenkins系统配置【Configure system】下,有 Remote directory目录配置

 

       

       

### 配置Jenkins通过SSH发布至跳板机 为了实现这一目标,需先确保已安装`Publish over SSH`插件[^1]。之后,在Jenkins全局工具配置中设置SSH服务器信息。 #### 设置SSH Servers 进入Jenkins管理界面后导航到“Manage Jenkins” -> “Configure System”。向下滚动找到“SSH servers”,点击旁边的“Add”按钮来增加新的SSH Server条目: | 字段名 | 描述 | |--|-------------------------------------------------------------| | Name | 给这个连接起个名字 | | Hostname | 跳板机地址 | | Username | 登录用户名 | | Password/Key| 使用密码或私钥认证方式登录 | 对于密钥验证,可以上传预先生成好的私钥文件路径或者直接粘贴私钥内容;如果采用的是密码,则只需填写对应的字段即可。 #### 创建Pipeline脚本 下面是一个简单的pipeline示例,用于展示如何利用上述定义的服务执行远程命令以及传输文件给最终的目标主机: ```groovy pipeline { agent any stages { stage('Deploy') { steps { sshPut remote: "jumpserver", from: 'local/path/to/file', into: '/remote/directory/' sshCommand remote: "jumpserver", command: """ scp -o ProxyJump=jumphost_user@jumphost_ip /remote/directory/filename target_user@target_host:/final/location/ """ } } } } ``` 此Groovy代码片段展示了怎样把本地项目构建产物推送到中间跃点机器上,并进一步转发这些资源到达实际部署位置。这里假设已经正确设置了无密码访问权限以便于自动化流程顺利运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NettyBoy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值