安装

官网介绍:https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin

安装插件

        点击-系统管理-系统插件-可选插件中 直接搜 publish over ssh 点击安装,安装完之后,重启jenkins

配置

        点击- 系统管理-系统设置-拉到最下面就有这个窗口了

jenkins pipeline 复制 jenkins远程拷贝_jenkins pipeline 复制

公共配置:

Passphrase:密码(key的密码,如果你设置了)

Path to key:key文件(私钥)的路径

Key:将私钥复制到这个框中

Disable exec:禁止运行命令

私有配置:

SSH Server Name:标识的名字(随便你取什么)

Hostname:需要连接ssh的主机名或ip地址(建议ip)

Username:用户名

Remote Directory:远程目录

Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)

私有配置的高级:

Port:端口(默认22)

Timeout (ms):超时时间(毫秒)默认即可

Disable exec:禁止运行命令

Test Configuration:测试连接 

项目配置

启用步骤:

构建后操作→Add post-build action→Send build artifacts over SSH

jenkins pipeline 复制 jenkins远程拷贝_Publish Over SSH_02

SSH  Server Name:选个一个你在系统设置里配置的配置的名字

Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)

Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)

Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置)

Exec command:把你要执行的命令写在里面

(新版本的要求Transfer Set Source files和Exec command都要填写,可以不了他。老版本的允许只填写一个)

高级:

Exclude files:排除的文件(在你传输目录的时候很有用,使用通配符,例如:**/*.log,**/*.tmp,.git/)

Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你这儿更改了,上面的内容也需要更改)

No default excludes:禁止默认的排除规则(具体的自己看帮助)

Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。(个人理解)

Flatten files:只上传文件,不创建目录(除了远程目录)

Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式),具体格式参考下表:

Remote directory

Directories created

'qa-approved/'yyyyMMddHHmmss

qa-approved/20101107154555

'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}'

builds/2010/11/07/build-456 (if the build was number 456)

yyyy_MM/'build'-EEE-d-HHmmss

2010_11/build-Sun-7-154555

yyyy-MM-dd_HH-mm-ss

2010-11-07_15-45-55  

Exec timeout (ms):运行脚步的超时时间(毫秒)

Exec in pty:模拟一个终端执行脚步

Add Transfer Set:增加一个配置

配置完就可以重新执行构建任务。