一、首先需要先安装open SSH这样一个工具 使Jenkins连接到windows服务器上
1、安装步骤
一、下载安装包
Windows Server 2019、Windows 10、Windows Server 2022可以直接使用Windows设置安装来安装OpenSSH,可直接参考微软官网中OpenSSH管理Windows进行安装和学习。其他版本的Windows则需要对应版本下载OpenSSH-Winxx进行安装。官方好像是直接提供了安装包,我这里是下载zip进行解压。
2、解压与安装
1.以下载压缩包为例,将压缩包解压到 C:/Program Files/目录下
2.在解压目录 C:\Program Files\OpenSSH-Win32以管理员身份打开PowerShell,并执行以下命令:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
3、配置OpenSSH服务
1.OpenSSH默认端口为22端口,开启防火墙22端口号,在PowerShell执行以下命令:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
注意:若在云服务器上安装测试需要确认管理的防火墙端口是否已经加入规则
2.设置OpenSSH服务为自动启动,在PowerShell执行以下命令:
Set-Service -Name sshd -StartupType 'Automatic'
也可打开Windows服务手动设置服务启动方式
3.启动OpenSSH服务,在PowerShell执行以下命令:
Start-Service sshd
也可打开Windows服务手动开启服务
4.添加环境变量
将包含ssh可执行exe文件所在路径(我这里是:C:\Program Files\OpenSSH-Win32)添加到环境系统变量中
4、确认安装
打开cmd或者PowerShell,输入ssh命令,出现下图所示,则证明安装成功
还可以在Windows的设置中的应用选择添加open SSH这个工具
二、Jenkins设置部分
1、首先安装插件Publish Over SSH
如若在Jenkins在线安装失败 可以在Jenkins的官网下载导入https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin
点击高级导入
进行插件上传
2、系统配置
2.1 配置远程 SSH服务端
在System Configuration-Configure System-Publish over SSH中,配置一个远程ssh连接配置
Passphtase 对应用户私钥的文件加密秘钥,默认可以是空,依据实际情况考虑是否填写。
Path to key 用户实际私钥所在文件的绝对或者相对路径,与 Key 考虑二者选择一个即可。
Key 用户私钥对应的实际内容,与 Path to key 二者选择一个即可。
配置 SSH 服务地址:
Name 当前 SSH 服务端配置记录的名称,用于做为记录的唯一辨识,尽量不要重名。
Hostname 一般为服务端所属的 IP,其他端口需要通过 高级配置级进行指定。
Username 远程访问服务器时,提供的访问用户名,一般为服务端提前配置好的用户名。
Remote Directory 远程访问时,非默认访问路径时,需要用户依据实际需求进行指定(Windows仅仅适用于当前盘符)。 所以windows服务器只能是/
确认配置无误后,点击Test Configuration按钮进行测试配置成功,测如上图返回结果为 Success 字样。
SSH Server 配置无误后,点击保存即可。
3、项目添加配置
回到目标项目中,点击构建后项目,选择Send build artifacts over SSH 选项,效果如下:
Source files 需要上传的文件,可以使用匹配符号,具体查看官方文档。
Remove prefix 上传是需要移除的文件前缀,避免拷贝文件时,在服务端生成同样目录层级。
Remote directory 上传到远程服务器对应文件目录。
Exec command 用于在执行转换后,进行后续的指令操作,方便后续构建的处理操作。