jenkins pipeline中执行nohup java -jar ***.jar & 的时候会忽略执行jar之后的命令

Posted 秋寻草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins pipeline中执行nohup java -jar ***.jar & 的时候会忽略执行jar之后的命令相关的知识,希望对你有一定的参考价值。

搜索关键词:pipeline中执行nohup时忽略执行&

 

问题:

在做自动化部署的时候,脚本如下:

sh "ssh [email protected]‘$target_ip‘ nohup ‘$java_home‘ -jar ‘$app_home‘/‘$env.JOB_NAME‘.jar >‘$app_home‘/ 2>&1 &"

总是执行到.jar这里后面的指定日志输出和后台运行命令(>‘$app_home‘/ 2>&1 &)没有执行

 

解决:

将nohup到最后的&之间的命令用‘‘单引号引起来,当做一个整体命令

sh "ssh [email protected]‘$target_ip‘ ‘nohup ‘$java_home‘ -jar ‘$app_home‘/‘$env.JOB_NAME‘.jar >‘$app_home‘/ 2>&1 &‘"

 

以上是关于jenkins pipeline中执行nohup java -jar ***.jar & 的时候会忽略执行jar之后的命令的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 在声明式 pipeline 中并行执行任务

在 Jenkins 2 Pipeline 中执行 SonarQube Scanner

(转)Jenkins2.0 Pipeline 插件执行持续集成发布流程

让Jenkins执行GitHub上的pipeline脚本

Jenkins 管道 sh 在 Windows 上因“无法运行程序 nohup”而失败

在Jenkins2.X使用Pipeline执行python测试脚本