如何使用管道脚本将zip文件从工作区传输到我已经设置的从属计算机(目标服务器)

时间:2019-11-22 13:57:29

标签: ssh jenkins-pipeline devops

我想使用管道脚本将zip文件从工作区传输到已设置的从属计算机(目标服务器),并且我需要代码段在“部署”阶段执行相同的操作

我知道如何使用以下命令实现这一目标

sh‘scp -r dist user @ server:/ var / www / temp_deploy / dist /’

,但似乎并没有使用它的从属设置,因为它只是在旅途中使用ssh。有没有更好的办法?谢谢

1 个答案:

答案 0 :(得分:1)

首先,要使scp / ssh工作,原始计算机必须知道主机,并且需要设置无密码的ssh

要知道主机,请首先手动将其从源计算机连接到目标计算机(确保用户与运行作业的用户相同)。或者,使用ssh -o "StrictHostKeyChecking=no" user@server

要设置无密码ssh,您需要生成一个密钥对,然后将公钥复制到接收计算机。

最后,您可以使用stash / unstash常规功能:

准备好拉链后,使用

stash name: 'dist', includes: 'path/to/the/zip', allowEmpty: true 

在另一台计算机上,使用

unstash 'dist'

这将在后台将文件打包,并将其移至另一台计算机上,在此处将这些文件解压缩到工作空间中的同一位置。