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 @ 2020-12-24 14:45  张占岭  阅读(292)  评论(0编辑  收藏  举报