使用 jenkins 管道在 Windows 服务器上部署 jar
Posted
技术标签:
【中文标题】使用 jenkins 管道在 Windows 服务器上部署 jar【英文标题】:deploy jar on windows server with jenkins pipeline 【发布时间】:2018-06-29 07:29:03 【问题描述】:我有一个可以作为服务器运行的 maven 构建的 jar 文件。我想使用 jenkins-pipeline 将此 jar 文件部署到我的 windows 2016 服务器上。我从 freestyle jenkins 作业开始,使用“执行 Windows 批处理”配置:
set BUILD_ID=DontKillMe
start java -jar MyServer.jar
java 进程在我的 windows 2016 服务器上成功生成。
当我转而使用具有相同批处理命令的 jenkins 管道脚本时,它并不像预期的那样 - 应该包含 java -jar MyServer.jar
的进程从未产生过。
我写的管道脚本是:
bat '''
set BUILD_ID=DontKillMe
start java -jar MyServer.jar
'''
我想让 jar 在另一个进程中开始运行的原因是它可以将当前的 jenkins 构建发布到以下步骤。
有人可以帮忙解决吗?只要我可以从 jenkins 管道中的批处理命令生成 java 进程(最好没有父进程),我将不胜感激。
【问题讨论】:
【参考方案1】:好吧,看来jenkins是想抛弃像我这样的jenkins老用户了,下面是jenkins pipeline提供的解决方案:
withEnv(['JENKINS_NODE_COOKIE=DontKillMe'])
bat "start java -jar MyServer.jar"
【讨论】:
以上是关于使用 jenkins 管道在 Windows 服务器上部署 jar的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins 管道 sh 在 Windows 上因“无法运行程序 nohup”而失败
如何使用声明性 Jenkins 管道在同一节点上运行多个阶段?
使用 jenkins 在 Windows 远程环境 (VM) 上触发脚本