🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
第一步:在jenkins服务器上生成密钥对 [root@jenkins ~]# cd /root/.ssh/ [root@jenkins .ssh]# ll total 12 -rw-------. 1 root root 1675 Dec 28 18:29 id_rsa -rw-r--r--. 1 root root 411 Dec 28 18:29 id_rsa.pub -rw-r--r--. 1 root root 800 Dec 29 01:36 known_hosts 1、插件安装 打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“Publish over SSH”进行搜索,如果搜索不到可以在“已安装”里确认是否已经安装过。在搜索结果中选中“Publish over SSH”,点击页面的“直接安装”按钮,系统会自动安装,此插件安装后不需要重启Jenkins。如果插件安装成功在“系统管理>系统设置”会出现相关配置项。 Publish over SSH插件安装 插件配置 2、全局设置 插件安装成功后使用前需要在“系统管理>系统设置”中进行配置,如下图 ![](https://box.kancloud.cn/b7f52060ff6a75cdab71d9c5e9bf72a6_1018x310.png) 参数说明: Passphrase:SSH的密码 使用用户名/密码登录时为用户名的密码,使用私钥登录时为私钥的密码。 Path to key:SSH私钥的文件路径 ( 运行jenkins用户的key) 私钥文件的路径,可以是绝对路径,也可以是相对$JENKINS_HOME的相对路径 Key:私钥 私钥导出后的文本内容 如果“Key”和“Path to key”都设置,则“Key”的优先级较高,私钥的密码是“Passphrase”中设置的内容。 Disable exec:禁止在目标机上执行命令 3、SSH Server 配置 SSH Server配置为Publish Over SSH中运程机的配置,分“基本设置”和“高级设置”两部分;“基本设置”主要是运程机IP、SSH用户名、SSH端口、连接超时时间等,“高级设置”和大部分“全局设置”中的选项相同。Job中使用的每一个运程机都要在这里进行配置。 参数如下: SSH Server Name:标识的名字(随便你取什么) Hostname:需要连接ssh的主机名或ip地址(建议ip) Username:用户名 Remote Directory:远程目录 (指定远程服务器上代码存放路径,比如/data/wwwroot Exec command: 文件传输完成后,要执行的命令,比如更改文件权限命令 Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好) 私有配置的高级: Port:端口(默认22) Timeout (ms):超时时间(毫秒)默认即可 Disable exec:禁止运行命令 Test Configuration:测试连接 ![](https://box.kancloud.cn/c1f2b3a3673abc192466720a0b1c4d26_1012x422.png) 4、把jenkins服务器上对应用户的公钥,拷贝到要管理的机器上 [root@jenkins ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.2.11.245 二) ![](https://box.kancloud.cn/06e7f25b2f57aff912d851ff0e62878c_914x562.png) Source files: 需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔) Remove prefix: 移除目录(只能指定Transfer Set Source files中的目录) Remote directory: 远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置) Exec command: 把你要执行的命令写在里面 ![](https://box.kancloud.cn/cc4f37925c6b6f67b01decc3514593e3_831x482.png)