强制完成Jenkins工作

问题描述 投票:0回答:1

我正在运行Jenkins流水线脚本。

从这个流水线脚本中,我们正在运行一个脚本,它一直在产生输出,所以这个过程没有结束。

因此,由于这个原因,我的Jenkins工作没有完成,但由于所有的步骤都在这里完成了,我以某种方式想在10分钟后标记这个工作完成。

有什么办法可以在10分钟后从管道scipt完成jenkins工作。

下面是我的pipeline脚本和runspbt.sh是那个永远不会结束的脚本。

pipeline {
agent {label 'Executionmachine3089'}
stages {
   stage('Run Script') {
      steps {  
       bat "ssh rxx11pp@G0XXXX209 /home/rxx11pp/runspbt.sh"
    }
 }
}}
jenkins jenkins-pipeline
1个回答
0
投票

你可以等待并检查一些成功的输出(或者在工作区的标记文件)。

steps{
  sh "sleep 600s"
  script{
         if(testSuccessMethod){
            currentBuild.result = "SUCCESS"
            return
         }else{currentBuild.result = "FAILURE"
            return
   }
}

0
投票

你可能想使用linux的 timeout 命令,这将启动脚本并在90秒后发出退出信号。

pipeline {
 agent { label 'Executionmachine3089' }
 stages {
   stage('Run Script') {
    steps {  
       bat "ssh rxx11pp@G0XXXX209 timeout 90 /home/rxx11pp/runspbt.sh"
    }
   }
 }
}

这将启动脚本,并在90秒后发出退出信号。

注意这与Jenkins无关。

© www.soinside.com 2019 - 2024. All rights reserved.