0


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
标签: jenkins ssh git

本文转载自: https://blog.csdn.net/sinat_29356635/article/details/127925023
版权归原作者 信仰JR 所有, 如有侵权,请联系我们删除。

“Jenkins ssh windows远程主机发布执行脚本”的评论:

还没有评论