Jenkins ssh windows远程主机发布执行脚本

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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值