我正在运行Jenkins管道脚本。
在此管道脚本中,我们正在运行一个继续产生输出的脚本,因此该过程不会结束。
因此,由于这个原因,我的詹金斯(Jenkins)工作尚未完成,但由于所有步骤已完成,因此我想在10分钟后将其标记为完成。
说10分钟后,是否有任何方法可以通过管道完成jenkins的工作。
下面是我的管道脚本,而runpbt.sh是永无止境的脚本。
pipeline {
agent {label 'Executionmachine3089'}
stages {
stage('Run Script') {
steps {
bat "ssh rxx11pp@G0XXXX209 /home/rxx11pp/runspbt.sh"
}
}
}}
答案 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秒后退出。
请注意,这与詹金斯无关。