之所以转载这篇,我是觉得这篇通熟易懂,能很好的给需要的人提供帮助。


该插件主要是通过SSH连接其他Linux机器,远程传输文件及执行Shell命令。

特性:

1、SCP—通过SSH发送文件 
2、在远程服务器执行shell命令 
3、Passwords/passphrases在配置文件及UI界面是加密显示的 
4、SSH可在项目编译前或编译后执行,与是否编译成功无关 
以下是使用该插件的相关步骤:

第一步:配置Linux系统的SSH服务免密码登录

可参考Jenkins创建slave节点—-Linux平台的第一部分

第二步:在系统管理–>系统设置中添加SSH Server

  • 公共配置 
    Passphrase:密码(key的密码。如果有设置) 
    Path to key:key文件(私钥)的路径 
    Key:将私钥复制到这个框中 
    Disable exec:禁止运行命令 
    注意:一般来说,我们会采用同每一个SSH Server单独配置的方式,因此公共配置部分一般不进行设置
  • 私有配置 
    SSH Server Name:标识的名字,可随便取 
    HostName:需要连接ssh的主机名或IP地址 
    Username:SSH连接所使用的用户名 
    Remote Directory:用SSH连接后的远程根目录,这个目录是必须存在的,Jenkins不会自动创建目录。Jenkins会将文件远程复制到该目录。(注意:SSH连接的用户需要有权限才可以创建、删除、移动文件及文件夹) 
    Use password authentication, or use a different key:使用密码认证或密钥认证
  • 私有配置的高级 
    Port:SSH连接端口号(默认为22) 
    Timeout (ms):连接超时的时间,单位以毫秒计算 
    Disable exec:禁止exec执行命令 
    Test Configuration:测试配置是否成功 
  • jenkins下载ssh插件 jenkins ssh publishers_ssh

第三步:具体项目配置

第一种启动步骤:在构建环境中选择Send files or excute commands over SSH after the build runs 

jenkins下载ssh插件 jenkins ssh publishers_linux_02


SSH Server Name:选择系统设置中已添加的SSH服务器 

Transfer Set Source files:需要上传到应用服务器的文件(注意:相对于工作空间的路径,可填写多个,默认用逗号分隔) 

Remove prefix:去掉前缀(只能指定Transfer Set Source files中的目录) 

Remote directory:可选的目标文件夹。如果文件夹不存在,会创建文件夹。 

Exec command:在远程服务器将要执行的命令。在远程SSH传输执行后,才执行这里的脚本命令 

高级选项: 

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

Pattern separator:分隔符(配置Transfer Set Source files的分隔符) 

No default excludes:禁止默认的排除规则 

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

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

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

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

Add Transfer Set:增加一个传输配置 

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