jenkins~Publish Over SSH实现分布式部署

之前写过关于jenkins-nodes来实现的分布式构建的文章,并在实际工作中得到了运用,确实加快的构建的速度;而如果你的项目分布在不同的服务器上,在jenkins构建完成之后,就需要将代码推到目标服务器上运行了,这就用到了Publish Over SSH插件。

配置

在jenkins配置里-》系统配置里,对Publish Over SSH的服务器节点进行添加,这个插件如果没有需要先安装。

这里比较重要的是配置目标服务器的根路径,然后在job里目标路径都是基于这个根路径的
1

使用

需要注意,你的源文件路径应该是jenkins默认工作区下的路径,这个是必须的
2
如果是当前文件夹下所有文件,可以使用如下方法
3

手动实现文件远程复制和执行

ssh免密登录 本机需要免密ssh登录到192.168.187.142,相当于把本机的公钥复制到192.168.187.142的authorized_keys,即只要在authorized_keys里出现的公钥,使用对应的私钥,都是可以进行登录的。
ssh-keygen -t rsa    #生成密钥
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.187.142 #复制公钥到目标服务器的/root/.ssh/authorized_keys文件
ssh root@192.168.187.142
scp a.jar root@192.168.187.142:/root/ #上传文件
ssh root@192.168.187.142 "/usr/bin/java -jar /root/a.jar" # 远程命令
posted @   张占岭  阅读(300)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2015-12-24 大叔也说Xamarin~Android篇~原生登陆与WebView的网站如何共享Session
2014-12-24 面对大数据,我们应该干的事~大话开篇
点击右上角即可分享
微信分享提示