【Publish Over SSH】插件是通过SSH连接其他Linux机器,远程传输文件及执行Shell命令
有两种验证方式,密码方式和秘钥方式
一、密码方式
Manage Jenkins -> Configure System -> Public over SSH 进行配置
填写名称、主机ip、ssh用户名、远程的目录(最好写/,后面就可以用绝对路径了)
然后点击高级,勾选【Use password authentication, or use a different key】使用密码登录,填写密码、端口、连接超时
点击【Test Configuration】,测试连接,显示Success即可
保存完成
二、秘钥方式
Manage Jenkins -> Configure System -> Public over SSH 进行配置
1、生成一个密钥对,命令:ssh-keygen
把生成的id_rsa.pub(公钥)内容复制到要远程的机器的authorized_keys文件下,.ssh文件夹的权限为600,authorized_keys文件的权限为700;
把id_rsa(私钥)的内容填写在Jenkins SSH Key -> Key 里面
或者指定Path to key(jenkins机器私钥的文件路径)也可以
填写名称、主机ip、ssh用户名、远程的目录(最好写/,后面就可以用绝对路径了)
然后点击高级,填写密码、端口、连接超时即可;不要勾选【Use password authentication, or use a different key】使用密码登录
点击【Test Configuration】,测试连接,显示Success即可;
保存完成
三、使用:
项目中增加构建步骤,或者构建后步骤
Name:
SSH Sverver的名字列表
Source files:
jenkins本机上的文件,相对workspace的路径,如上图中表示的是/home/cmq/.jenkins/workspace/项目1/test1下的所有文件和文件名
Remove prefix:
文件复制时要过滤的目录,要不然会创建多层目录
Remote directory:
远程机上的目录,此目录是相对于【SSH Server】中的【Remote directory】的,如果不存在将会自动创建,设置为/根目录的话,这里可以用绝对路径
Exec command:
远程机器上执行的命令或脚本