diff --git a/Jenkinsfile b/Jenkinsfile index 623be806..330f47ee 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -77,7 +77,26 @@ pipeline { } } + stage('Check Cleanup Status') { + steps { + script { + def isCleanupRunning = sh(script: 'pgrep -f "docker image prune"', returnStatus: true) == 0 + currentBuild.description = isCleanupRunning ? 'Cleanup is already running' : 'Ready for cleanup' + + if (isCleanupRunning) { + currentBuild.result = 'ABORTED' + error('Cleanup is already running. Aborting this build.') + } + } + } + } + stage('Cleanup') { + when { + expression { + return currentBuild.result != 'ABORTED' + } + } steps { script { sh 'docker image prune -a -f'