通过jenkins管道运行shell脚本时出错

时间:2019-06-11 06:08:19

标签: bash shell jenkins jenkins-pipeline

尝试运行Shell脚本时出现错误

{{ e.actual_score - e.predicted_score }} 

使用Jenkinsfile:

+ /home/pqsharma/symlinkBuild.sh 19.07
sh: line 1: 21887 Terminated              sleep 3

1 个答案:

答案 0 :(得分:0)

后跟JENKINS 55308:“在管道中使用sh的间歇性“终止”消息”

  

Jenkins主服务器从基于jenkins / jenkins:2.138.2-alpine的Docker映像运行,其中特定的插件由/usr/local/bin/install-plugins.sh烘焙到映像中

     

该消息源自持久任务插件,该插件必须是plugins.txt插件之一的依赖项。

检查是否适合您。

JENKINS 55867引起:“如果包装程序进程被杀死,则从不检测到sh步骤终止”

  

在执行shell步骤时,Jenkins运行一个包装器shell进程,该进程负责保存脚本的退出代码。如果此过程被终止,那么詹金斯将永远不会发现您的脚本已终止,并且该步骤将永远挂起。

     

这似乎是在持久任务插件v1.22之后引入的

诊断:

  

sleep 3是执行Shell步骤的一部分。
  后台进程每3秒触摸一次代理上的特定文件,Jenkins主服务器将检查该文件上的时间戳作为代理,以了解脚本是否仍在运行。
  根据此处的报告,似乎是某种原因导致该进程在某些系统上被终止,但是我对它可能会导致的后果一无所知。

可能的原因:

  

该错误不仅存在于持久任务插件中,尽管症状来自那里。升级工作流作业时会引入它。我设法将其精确定位到特定版本。

     

将工作流作业升级到2.27或更高版本会触发该错误。 (2.26不存在。)

所以请尝试将您的工作流程插件降级到2.25