一、安装插件
通过ssh
访问远程主机,需要为Windows
系统的主机安装Open SSH
,防火墙开放22
端口,本地Jenkins
安装插件安装publish over ssh
插件,安装后重启Jenkins
服务。
查看任务中构建后操作
,可以看到多出选项Send build artifacts over SSH
选项,则表明安装成功。
需要的配置相关配置,如果用户为首次使用,则需要转到首页,选择 系统配置添加对应的 SSH
发布配置,首页如下:
二、系统配置
2.1、配置远程SSH
服务端
在System Configuration
-Configure System
-Publish over SSH
中,配置一个远程ssh
连接配置,
各个输入框,用途如下:
Passphtase 对应用户私钥的文件加密秘钥,默认可以是空,依据实际情况考虑是否填写。 Path to key 用户实际私钥所在文件的绝对或者相对路径,与 Key 考虑二者选择一个即可。 Key 用户私钥对应的实际内容,与 Path to key 二者选择一个即可。
配置 SSH
服务地址:
输入框内容用途如下:
Name 当前 SSH 服务端配置记录的名称,用于做为记录的唯一辨识,尽量不要重名。 Hostname 一般为服务端所属的 IP,其他端口需要通过 高级配置级进行指定。 Username 远程访问服务器时,提供的访问用户名,一般为服务端提前配置好的用户名。 Remote Directory 远程访问时,非默认访问路径时,需要用户依据实际需求进行指定(Windows仅仅适用于当前盘符)。
确认配置无误后,点击 Test Configuration
按钮进行测试。配置成功,测如上图返回结果为 Success
字样。
2.2、高级配置
高级配置中,支持通过用户名和密码进行远程访问,同时包含,需要访问的服务端ssh 端口为非22端口时的相关配置,以及代理相关配置操作输入项,此处不一一展开讨论。
SSH Server
配置无误后,点击保存即可。
三、项目添加配置
回到目标项目中,点击构建后项目,选择Send build artifacts over SSH
选项,效果如下:
上述转换 Transfers
输入内容用途如下:
Source files 需要上传的文件,可以使用匹配符号,具体查看官方文档。 Remove prefix 上传是需要移除的文件前缀,避免拷贝文件时,在服务端生成同样目录层级。 Remote directory 上传到远程服务器对应文件目录。 Exec command 用于在执行转换后,进行后续的指令操作,方便后续构建的处理操作。
其中可以使用,Jenkins environment variables
,具体可以查看本地地址 http://localhost:8060/env-vars.html/
,读者依据实际的部署端口,进行相关环境变量的查看。参考链接:https://plugins.jenkins.io/publish-over-ssh/