前提条件
下载插件下载插件Git Parameter
1、配置参数
2、源码配置
3、发送文件
参数说明:
- Name:“系统管理>系统设置”设置的SSH Sverver的名字列表。
- Source files:复制到运程机上的文件,相对workspace的路径,也支持表达式,如上图中的“**/*.war”。
- 在 "Source files" 字段中,指定要发送的目录路径。例如,如果你要发送整个
dist
目录,可以指定为dist/**
。 - 使用通配符
**
可以确保目录及其所有子目录和文件都被包括在内。
- 在 "Source files" 字段中,指定要发送的目录路径。例如,如果你要发送整个
- Remove prefix:文件复制时要过滤的目录,如上图中的target目录。
- Remote directory:文件得到到远程机上的目录,此目录是相对于“SSH Server”中的“Remote directory”的,如果不存在将会自动创建。
- Exec command:在这里可以填写在运程机器上执行的脚本。
- 高级
- verbose output in console:会显示详细的SSH输出,就能够很直观的看到原因。根据原因再查找解决方法。
4、SSH Server 配置
SSH Server配置为Publish Over SSH中运程机的配置,分“基本设置”和“高级设置”两部分;“基本设置”主要是运程机IP、SSH用户名、SSH端口、连接超时时间等,“高级设置”和大部分“全局设置”中的选项相同。Job中使用的每一个运程机都要在这里进行配置。
系统管理>系统设置”中,基本配置:
添加密码,高级配置:
参数说明:
Jenkins SSH Key(插件的全局配置):
Passphrase:密码(key的密码,一般我们不会设置)
Path to key:key文件(私钥)的路径
Key:将私钥复制到这个框中(与Path to key二选一)
Disable exec:禁止远程运行命令
添加SSH远程主机
SSH Server Name:自定义远程主机的名字
Hostname:ssh远程连接的ip地址
Username:用户名
Remote Directory:远程目录
Use password authentication, or use a different key:选中展开就可以配置新的私钥,不使用全局配置。
Port:SSH端口
Timeout (ms):超时时间(毫秒)
Disable exec:禁止运行命令(只对当前配置的ssh主机生效)
Test Configuration:测试连接,连接成功会返回Success
5、丢弃旧的构建
Jenkins在每一次的执行构建后,都会对该构建的项目生成一个历史构建记录以及生成一份历史构建的项目发布包,刚开始的时候大家谁都不必在意,毕竟一次构建比原项目也大不了多少,所以说没有人会关心磁盘的占用问题,但是随着时间的推移,要构建的项目越来越多,而构建的历史版本同样也越来越多,这过多的项目外加每个项目的过多的版本,其最终的结果就是磁盘被占用的空间越来越大,直至磁盘空间被占用完为止,最终可怕的结果可想而知,由于没有再可以被写入的空间,其它软件也就无法正常运行了。