[英]error while running shell script through jenkins pipeline
嘗試運行Shell腳本時遇到以下錯誤
+ /home/pqsharma/symlinkBuild.sh 19.07
sh: line 1: 21887 Terminated sleep 3
使用Jenkinsfile:
node ('linux')
{
stage('creating symlink')
{stdout = sh(script:'/home/pqsharma/symlinkBuild.sh 19.07 ', returnStdout: true)
}
}
隨后是JENKINS 55308 :“在管道中使用sh的間歇性“終止”消息”
Jenkins master從基於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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.