我想使用管道脚本将zip文件从工作区传输到已设置的从属计算机(目标服务器),并且我需要代码段在“部署”阶段执行相同的操作
我知道如何使用以下命令实现这一目标
sh‘scp -r dist user @ server:/ var / www / temp_deploy / dist /’
,但似乎并没有使用它的从属设置,因为它只是在旅途中使用ssh。有没有更好的办法?谢谢
答案 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'
这将在后台将文件打包,并将其移至另一台计算机上,在此处将这些文件解压缩到工作空间中的同一位置。