我有一个maven构建的jar文件,可以作为服务器运行。我想使用jenkins-pipeline将此jar文件部署到我的Windows 2016服务器上。我开始使用自由式 jenkins工作,使用"执行Windows批处理"组态:
set BUILD_ID=DontKillMe
start java -jar MyServer.jar
在我的Windows 2016服务器上成功生成了java进程。
当我转向使用具有相同批处理命令的jenkins管道脚本时,它并不像预期的那样 - 应该包含java -jar MyServer.jar
的进程从未生成过。
我写的管道脚本是:
bat '''
set BUILD_ID=DontKillMe
start java -jar MyServer.jar
'''
我想让jar开始在另一个进程中运行的原因是它可以将当前的jenkins构建发布到以下步骤。
有人可以帮忙解决一下吗?只要我可以在jenkins管道中从批处理命令生成java进程(更好的是没有父进程),我将非常感激。
答案 0 :(得分:0)
好吧,看起来jenkins试图放弃像我这样的老jenkins用户,这里是jenkins管道提供的解决方案:
withEnv(['JENKINS_NODE_COOKIE=DontKillMe']) {
bat "start java -jar MyServer.jar"
}