说明
远程机器开启SSH服务,允许Jenkins所在机器通过SSH服务登录到远程机执行脚本;可以设置SSH使用用户名/密码或通过key登录。
安装Publish Over SSH插件,可以提高jenkins的能力。
jenkins 插件安装
打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“Publish over SSH”进行搜索,如果搜索不到可以在“已安装”里确认是否已经安装过。在搜索结果中选中“Publish over SSH”,点击页面的“直接安装”按钮,系统会自动安装,此插件安装后不需要重启Jenkins。
如果插件安装成功在“系统管理>系统设置”会出现相关配置项。
插件配置
Jenkins的“系统管理>系统设置”配置“Publish over SSH”
其中我填入以下信息:
-
Path to key: /home/jenkins/.ssh/id_rsa
其中这个免密登录自行参考网上配置。
SSH Servers配置
Name: 标识的名字(随便你取什么)
Hostname:需要连接ssh的主机名或ip地址(建议ip)
Username:用户名
-
Remote Directory:远程目录 (指定远程服务器上代码存放路径,比如配置根目录 /
其中下文传送包的时候会在这个Remote Directory目录下拼接路径。
项目配置
在具体项目的Build配置节里,添加Send files or execute commands over SSH
,进行配置
SSH Server: 选择对应配置好的ssh服务器
-
Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)
比如这里我配置了*.tar.gz
-
Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)
比如我这里不配置
-
Remote directory:远程目录
比如我配置:/tmp
这里会跟之前全局服务器配置的Remote Directory进行拼接 -
Exec command:把你要执行的命令写在里面
比如我配置:source ~/.bash_profile >/dev/null 2>&1;cd /opt/testerzhang/;sh -x deploy.sh