jenkins~Publish Over SSH实现分布式部署
之前写过关于jenkins-nodes来实现的分布式构建的文章,并在实际工作中得到了运用,确实加快的构建的速度;而如果你的项目分布在不同的服务器上,在jenkins构建完成之后,就需要将代码推到目标服务器上运行了,这就用到了Publish Over SSH插件。
配置
在jenkins配置里-》系统配置里,对Publish Over SSH的服务器节点进行添加,这个插件如果没有需要先安装。
这里比较重要的是配置目标服务器的根路径,然后在job里目标路径都是基于这个根路径的
使用
需要注意,你的源文件路径应该是jenkins默认工作区下的路径,这个是必须的
如果是当前文件夹下所有文件,可以使用如下方法
手动实现文件远程复制和执行
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" # 远程命令
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.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 面对大数据,我们应该干的事~大话开篇