前几天和同事讨论jenkins部署springboot项目到windows server开发服务器上,由于以前同事捣鼓过此类部署,但自己配置时出现了一些莫名的问题,因此进行了部分更新,步骤如下:
1.安装openssh
原来同事直接使用的是openssh包方式进行安装:
自己捣鼓了下,感觉使用freeSSHD.exe,快准狠
下载地址:https://pan.baidu.com/s/1JkRSYHdZGhAs4LIPJ4OaKw 密码:b628
添加用户:
由于开发服务器上默认的22端口被占用,改为了29端口:
然后启动服务
测试:使用secureCRT远程登录,结果(windows server服务器上的ssh服务已成功启动):
2.jenkins上配置ssh主机
填写注意:
Name随便填,Hostname是ip或者主机名,用户名同远程桌面用户名,点击高级后,填写密码部分,并配置ssh连接端口。
其中的Remote Directory需要重点关注,该参数表示的是:ssh文件上传后,文件在远端服务器上的保存路径,路径需要预先建立好。若不填默认为:C:\Users\Administrator
针对windows类型的ssh服务器,这边的填写只能写相对路径,(base 路径为C:\Users\Administrator,如果作为非管理员登录,可能会稍微不一样,可以自己用SecureCRT之类的登进去试试,看看在哪个路径下)
我这里没填
3.job任务配置
其他地方配置相同,以下为配置不一样,或需要注意的地方:
构建:
SSH Publishers:
我这样填写,相当于将jenkins服务器中的GPS_Server-0.0.1.SNAPSHOT.jar服务放到了C:\Users\Administrator\GPS_Server\target下面,引用了base路径+源服务器带过来的GPS_Server/target路径
4.创建deploy.bat脚本任务
在C:\Users\Administrator\GPS_Server下创建deploy.bat文件,内容为:
@echo off
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":9999"') do (
set n=%%a
)
taskkill /f /pid %n%
javaw -jar -Xms512m -Xmx1024m -Xmn512m C:\Users\Administrator\GPS_Server\target\GPS_Server-0.0.1-SNAPSHOT.jar --server.port=9999
我这里服务端口为:9999,可根据自己服务所使用的端口进行配置,主要功能为:找到当前占用9999端口的进程id(pid),然后强制杀死进程,再使用javaw命令启动jar文件
5.job启动
出现Started GPSServerClient in 7.53 seconds (JVM running for 8.423)为启动成功
可在服务器端使用netstat -ano|findstr "9999"进行端口号进程查看:
找到9132,进程号id,确认为javaw服务:
重新进行job任务构建,可发现9999端口号已经变为了另外一个进程
至此,服务成功部署到windows server服务器上并成功启动,访问服务可用。
但查看jenkins控制台输出,发现一个小问题:
且当前jenkins图标为黄色:
运行完了,但是是超时退出的,但不影响服务运行,暂时没有想到好的解决办法,如果你有解决方案,欢迎分享!!!
参考:https://www.cnblogs.com/grey-wolf/p/9015779.html#_label1_0