1、插件中心安装插件Publish Over SSH
2、配置远程主机System Configuration-Configure System
2-1 windows需安装和开启openssh服务,本篇不再详述
2-2配置远程主机目录
3、 在job中选择配置的主机进行发包和执行脚本bat
在job的配置选项中-构建后操作选择之前配置的主机
4、 windows下使用的bat脚本
题外话:本人为java后端,对bat脚本知之甚少,在探索过程中,遇到了一下问题,bat脚本在windows机器上能正常执行,在jenkins上调用的时候不是不生效,就是执行后不能自动退出。
1、针对执行bat不生效的问题,我试图在Jenkins上执行写脚本执行,出现的问题是,项目可以正常启动,但是项目日志输出在jenkins上,无法中断,指定日志输出路径后问题始终没有解决。于是还是采用执行bat脚本方式;
2、但是又出现jenkins不清楚或者说得不到bat脚本是否执行完成,始终无法断开,直到设置的timeout时间后才断开,尝试手动断连,但是没有成功。
3、最后测试成功的结论:首先,java项目必须用javaw -jar后台启动而不是java -jar,然后,必须保证脚本bat的执行,必须不能弹出dos黑窗口,必须在后台执行,Jenkins才能收到结果,下面将bat脚本附上供遇到同样问题的同学参考:
start.bat
@echo off
start javaw -jar D:\server\power.jar ->D:\server\startLog.log
exit
stop.bat
@echo off
set port=8087
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
echo kill the process %%m who use the port
taskkill /f /pid %%m
goto q
)
:q
exit 0
restart.bat
@echo off
set port=8087
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
echo kill the process %%m who use the port
taskkill /f /pid %%m
goto start
)
:start
start javaw -jar D:\server\power.jar ->D:\server\startLog.log
exit 0
版权归原作者 信仰JR 所有, 如有侵权,请联系我们删除。