Jenkins常用插件之Publish Over SSH

该插件主要是通过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常用插件之Publish Over SSH_第1张图片

第三步:具体项目配置

第一种启动步骤:在构建环境中选择Send files or excute commands over SSH after the build runs
Jenkins常用插件之Publish Over SSH_第2张图片
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

第二种启动步骤:在构建后操作中,选择Send build artifacts over SSH

注:Transfer Set Source files和Exec command可只填写一个

参考资料:http://www.cnblogs.com/zz0412/p/jenkins_jj_10.html

你可能感兴趣的:(Jenkins,ssh,linux文件传输)