强迫完成詹金斯的工作

时间:2020-06-16 12:46:08

标签: jenkins jenkins-pipeline

我正在运行Jenkins管道脚本。

在此管道脚本中,我们正在运行一个继续产生输出的脚本,因此该过程不会结束。

因此,由于这个原因,我的詹金斯(Jenkins)工作尚未完成,但由于所有步骤已完成,因此我想在10分钟后将其标记为完成。

说10分钟后,是否有任何方法可以通过管道完成jenkins的工作。

下面是我的管道脚本,而runpbt.sh是永无止境的脚本。

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

2 个答案:

答案 0 :(得分:0)

您可以等待并检查是否有成功输出(或工作空间中的标记文件)。

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

答案 1 :(得分:0)

您可能要使用linux的timeout命令:

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

这将启动脚本,并指示其在90秒后退出。

请注意,这与詹金斯无关。