等待流程完成以将阶段标记为已完成的声明性管道步骤
Declarative pipeline step for waiting for process to finish in order to mark stage as completed
使用声明式管道,我如何根据给定条件将阶段标记为已完成?
对于以下示例,我想在没有进程时将阶段标记为已完成 运行。
此示例将用于检查给定应用程序在软终止后是否运行以继续部署
pipeline {
agent any
stages {
stage('1') {
steps {
timeout(time: 10, unit: 'MINUTES') {
waitUntil {
script {
def ret = sh script: 'ps ux | grep testout.sh | grep -v grep | wc -l', returnStdout: true
echo ret
if (ret != 0) {
// what should i use to finish this step?
}
}
}
}
}
}
}
}
我相信有更好的方法可以做到这一点,但目前我正在通过以下方式实现预期的结果:
pipeline {
agent any
stages {
stage('1') {
steps {
timeout(time: 10, unit: 'MINUTES') {
script {
waitUntil {
def ret = sh script: 'ps ux | grep testout.sh | grep -v grep | wc -l', returnStdout: true
if (ret.trim() != "0" ) {
return false
} else {
return true
}
}
}
}
}
}
}
}
与此同时,如果我找到合适的解决方案,我会更新这个答案。
使用声明式管道,我如何根据给定条件将阶段标记为已完成?
对于以下示例,我想在没有进程时将阶段标记为已完成 运行。
此示例将用于检查给定应用程序在软终止后是否运行以继续部署
pipeline {
agent any
stages {
stage('1') {
steps {
timeout(time: 10, unit: 'MINUTES') {
waitUntil {
script {
def ret = sh script: 'ps ux | grep testout.sh | grep -v grep | wc -l', returnStdout: true
echo ret
if (ret != 0) {
// what should i use to finish this step?
}
}
}
}
}
}
}
}
我相信有更好的方法可以做到这一点,但目前我正在通过以下方式实现预期的结果:
pipeline {
agent any
stages {
stage('1') {
steps {
timeout(time: 10, unit: 'MINUTES') {
script {
waitUntil {
def ret = sh script: 'ps ux | grep testout.sh | grep -v grep | wc -l', returnStdout: true
if (ret.trim() != "0" ) {
return false
} else {
return true
}
}
}
}
}
}
}
}
与此同时,如果我找到合适的解决方案,我会更新这个答案。