1、Publish Over SSH插件的系统配置
安装步骤:
系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over SSH
公共配置:
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:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)
注意:这里选中后会有一些选项出现,若不想用key的方式,可以用账号+密码的方式登录服务器
私有配置的高级选项:
Port:端口(默认22)
Timeout (ms):超时时间(毫秒)默认即可
Disable exec:禁止运行命令
Test Configuration:测试连接
2、项目配置
启用步骤:构建后操作→Add post-build action→Send build artifacts over SSH
SSH Server Name:选个一个你在系统设置里配置的配置的名字
Transfer Set Source files:需要上传的文件(相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)
注意:这里用的是相对工作区的路径,比如你这个jenkins的工作目录为../Jenkins/workspace/TEST,那这的目录只能是相对于这个目录下的
Remove prefix:移除目录(只能指定Transfer Set Source files中的目录,比如我的Transfer Set Source files为APP_BUILD/XXX.apk,那这里Remove prefix则填APP_BUILD/,不然的话远程服务器上会新建APP_BUILD/目录)
Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置)
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中配置日期格式)
Exec timeout (ms):运行脚步的超时时间(毫秒)
Exec in pty:模拟一个终端执行脚步
Add Transfer Set:增加一个配置