sdf
This commit is contained in:
@@ -65,6 +65,46 @@ pipeline {
|
||||
|
||||
|
||||
|
||||
stage ('Cleanup Old Docker Images') {
|
||||
steps {
|
||||
script {
|
||||
withCredentials([string(credentialsId: 'docker-registry-url-to-push', variable: 'REGISTRY_URL_PUSH')]) {
|
||||
def registry = "${REGISTRY_URL_PUSH}" // Ajusta esto a tu URL de Docker Registry
|
||||
def name = 'clean-architecture-backend' // Ajusta esto al nombre de tu imagen
|
||||
|
||||
def buildNumber = env.BUILD_NUMBER.toInteger()
|
||||
def startVersion = 1
|
||||
def endVersion = buildNumber - 3 // Para borrar hasta la versión "endVersion"
|
||||
|
||||
for (int i = startVersion; i <= endVersion; i++) {
|
||||
def versionToDelete = "0.0.${i}"
|
||||
def fullImageNameToDelete = "${name}:${versionToDelete}"
|
||||
|
||||
echo "Borrando la imagen ${registry}/${fullImageNameToDelete}"
|
||||
|
||||
// Comando modificado para utilizar variables de Jenkins
|
||||
sh """
|
||||
curl -v -sSL -X DELETE "http://${registry}/v2/${fullImageNameToDelete}/manifests/\$(
|
||||
curl -sSL -I \
|
||||
-H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||
"http://${registry}/v2/${fullImageNameToDelete}/manifests/\$(
|
||||
curl -sSL "http://${registry}/v2/${fullImageNameToDelete}/tags/list" | jq -r '.tags[0]'
|
||||
)" \
|
||||
| awk '\$1 == "Docker-Content-Digest:" { print \$2 }' \
|
||||
| tr -d \$'\r' \
|
||||
)"
|
||||
"""
|
||||
}
|
||||
|
||||
// No olvides ejecutar la recolección de basura para liberar espacio realmente.
|
||||
//echo "Ejecutando garbage collect en el Docker Registry"
|
||||
//sh "docker exec -it docker-registry bin/registry garbage-collect /etc/docker/registry/config.yml"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} //stages
|
||||
|
||||
Reference in New Issue
Block a user