跳至正文

Jenkins自动化插件之Publish over SSH

  • Jenkins

使用Jenkins构建过程中,需要把文件传输到远程主机,可以用pscp等工具实现,也可以通过Jenkins自身的插件Publish over SSH来完成这项任务,传输单个文件或多个目录都支持。

安装插件

Jenkins -> 系统管理 -> 管理插件 -> 安装 Publish Over SSH

全局配置

安装完成后,进入 Jenkins -> 系统管理 -> 系统设置,在下方找到 Publish Over SSH 选项,增加一个 SSH Server,如下:

- Name:远程主机名称(自己任意取);
- Hostname:远程主机的IP或域名;
- Username:登录远程主机的用户名;
- Remote Directory: 远程主机目录,这个目录必须已经存在,传输操作都在这个目录下进行,注意:登录用户必须有这个目录的操作权限;

任务配置

全局设置完成后,进入自己的任务配置,“增加构建步骤”选项中,增加“Send files or execute commands over SSH”,配置SSH Server,设置源文件、远程忽略前缀、远程目录、执行脚本文件等。

Name

选择上面配好的远程主机名称;

“高级”选项框

  • Username/Password:代表远程机器的用户名和密码;
  • Path to Key:代表KEY文件的路径,也可直接把KEY内容复制到“Key”编辑框里(则Path to Key不用填)。如下:

“Transfers”选项框

  • Source files:本地源文件,该文件的默认目录是Jenkins任务的路径(WORKSPACE),例如Jenkins任务名是Hello,则该路径为:C:\Jenkins\workspace\Hello。
  • Exec command:文件传输完成后要执行的shell脚本,该脚本默认目录是上面所配置的Remote Directory。例如:把hello.zip传输到了远程机器后,需要解压,则此处填入 sudo sh /user/share/nginx/unzip.sh,unzip.sh里的具体命令自定义。

总结

最后总结一下,在Jenkins全局设置里配好要连接的主机IP和远程目录,在具体Jenkins任务里选择对应主机,配置用户名、密码/秘钥、本地源文件、后处理脚本,然后在构建过程中就会自动远程传输了。

标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注