在Jenkins主机生成ssh公钥和私钥对:
`ssh-keygen -t rsa`
-
使用
ssh-copy-id
将公钥从Jenkins主机复制远程主机:ssh-copy-id -i /root/.ssh/id_rsa.pub "root@192.168.10.101"
-
Jenkins安装
Publish over SSH
插件- 打开Jenkins的
系统管理>插件管理
,选择可选插件
- 在输入框中输入
Publish over SSH
- 进行搜索如果搜索不到可以在
已安装
里确认是否已经安装过 - 在搜索结果中选中
Publish over SSH
- 点击页面的
直接安装
按钮,系统会自动安装 - 此插件安装后
不需要重启Jenkins
- 如果插件安装成功在
系统管理>系统设置
会出现相关配置项。
- 打开Jenkins的
-
插件安装成功后使用前需要在
系统管理>系统设置
中进行配置:因为已经同步了公钥,不需要密码即可连接,只需要配置几个选项即可: - Name
- Hostname
- Username
- Remote Derictory
-
在Jenkins中配置构建 点击
构建
选项,在增加构建步骤
里选择Send files or execute commands over SSH
,即可以在Job中使用Publish over SSH
插件参数说明
- Name
系统管理>系统设置
设置的SSH Sverver的名字列表。 - Source files
允许为空,复制到运程机上的文件,相对workspace的路径,也支持表达式,如
**/*.war
- Remove prefix 允许为空,文件复制时要过滤的目录.
- Remote directory
允许为空,文件得到到远程机上的目录,此目录是相对于
SSH Server
中的Remote directory
的,如果不存在将会自动创建。 - Exec command 在这里可以填写在运程机器上执行的shell命令
- Name
注意
ssh-copy-id
将key
写到远程机器的.../.ssh/authorized_key
文件中。- 当然你复制文件到远程服务器也可以用
SCP
命令。