我正在运行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"
}
}
}}
你可以等待并检查一些成功的输出(或者在工作区的标记文件)。
steps{
sh "sleep 600s"
script{
if(testSuccessMethod){
currentBuild.result = "SUCCESS"
return
}else{currentBuild.result = "FAILURE"
return
}
}
你可能想使用linux的 timeout
命令,这将启动脚本并在90秒后发出退出信号。
pipeline {
agent { label 'Executionmachine3089' }
stages {
stage('Run Script') {
steps {
bat "ssh rxx11pp@G0XXXX209 timeout 90 /home/rxx11pp/runspbt.sh"
}
}
}
}
这将启动脚本,并在90秒后发出退出信号。
注意这与Jenkins无关。