使用 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) 上触发脚本

在 Kubernetes 上的 Jenkins 管道中使用 npm 构建 ReactJs 应用程序

如何在 Jenkins 管道中使用 SSH?

如何在 Jenkins 声明式管道中设置声纳扫描仪