From 3b325481c9e8af3d6058b59d4f29e4b072126326 Mon Sep 17 00:00:00 2001 From: Alejandro Sarmiento Date: Mon, 11 Mar 2024 19:52:42 +0100 Subject: [PATCH] borrado de imagenes viejas --- CleanArchitecture/Pro.Jenkinsfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CleanArchitecture/Pro.Jenkinsfile b/CleanArchitecture/Pro.Jenkinsfile index de08a83..77a1bad 100644 --- a/CleanArchitecture/Pro.Jenkinsfile +++ b/CleanArchitecture/Pro.Jenkinsfile @@ -44,6 +44,26 @@ pipeline { } } } + + stage ('Clean Old Docker Images') { + steps { + script { + def currentVersion = env.BUILD_NUMBER.toInteger() + def deleteUntilVersion = currentVersion - 3 + for (int i = 1; i <= deleteUntilVersion; i++) { + def tag = "0.0.${i}" + + // Obtener el Docker-Content-Digest + def digest = sh(script: "curl -s -H \"Accept: application/vnd.docker.distribution.manifest.v2+json\" -X GET -u ${DOCKER_REGISTRY_USER}:${DOCKER_REGISTRY_PASSWORD} https://${DOCKER_REGISTRY_URL}/v2/clean-architecture-backend/manifests/${tag} | jq -r '.config.digest'", returnStdout: true).trim() + + // Eliminar la imagen usando el Docker-Content-Digest obtenido + sh "curl -s -X DELETE -u ${DOCKER_REGISTRY_USER}:${DOCKER_REGISTRY_PASSWORD} https://${DOCKER_REGISTRY_URL}/v2/clean-architecture-backend/manifests/${digest}" + + echo "Eliminada la versión ${tag} con digest ${digest}" + } + } + } + } } //stages