前提:jenkins服务器和windows server服务器不在一台机器上
对于jenkins服务器上编译好的jar或war包如何推送到windows server服务器上。
参照网上的,在windows server上安装openssh,下载地址:https://www.mls-software.com/opensshd.html
安装参照百度经验:https://jingyan.baidu.com/article/9158e0002c159ea254122821.html
安装完成后,服务默认是启动的,可以在服务中关闭和启动。
我这里通过Xshell连接。登录后如下:
下面是配置jenkins
1.安装Publish over SSH插件,我这已安装,如下:
2.全局设置
在系统管理>系统设置中进行配置
这里Publish over SSH没有配置:
SSH Server 配置如下:
参数说明:
Name: 节点的名字,可以随便取
HostName: 通过SSH连接到的机器的主机名或IP
UserName: 用户名
Remote Directory: ssh文件上传后,文件在远端服务器上的保存路径,不填默认是openssh的安装路径。针对windows类型的ssh服务器,这边的填写貌似只能写相对路径。
后面就是一些密码,端口,超时时间等配置。
配置完成后,可以点击 Test Configuration测试下是否连接成功。
新建一个maven任务
Name:就是之前“系统管理>系统设置”设置的SSH Sverver的名字。
Source files:复制到运程机上的文件,相对workspace的路径,也支持表达式,如上图中的“**/*.jar”
Remove prefix:文件复制时要过滤的目录,只能指定Transfer Set Source files中的目录,若此处不设置,会在远程机上新建target目录
Remote directory:文件复制到远程机上的目录,若不设置就使用系统设置中的配置。
Exec command:执行的命令。截图命令只是参考。
执行后远程机的目录如下: