diff --git a/apps/demo-nginx/Jenkinsfile.rollback b/apps/demo-nginx/Jenkinsfile.rollback index 8d83b57..b41fb18 100644 --- a/apps/demo-nginx/Jenkinsfile.rollback +++ b/apps/demo-nginx/Jenkinsfile.rollback @@ -34,7 +34,7 @@ pipeline { environment { APP_NAME = 'demo-nginx' - CONTAINER_NAME = 'nginx' // Fixed: actual container name + CONTAINER_NAME = 'nginx' NAMESPACE = 'demo-app' DOCKER_REGISTRY = 'docker.io' DOCKER_REPO = 'vladcrypto' @@ -48,14 +48,17 @@ pipeline { script { echo "🔍 Validating rollback request..." - if (params.TARGET_VERSION == '') { + // Trim whitespace from input + env.TARGET_VERSION_CLEAN = params.TARGET_VERSION.trim() + + if (env.TARGET_VERSION_CLEAN == '') { error("❌ TARGET_VERSION cannot be empty!") } echo """ 📋 Rollback Configuration: Method: ${params.ROLLBACK_METHOD} - Target: ${params.TARGET_VERSION} + Target: ${env.TARGET_VERSION_CLEAN} Skip Health Check: ${params.SKIP_HEALTH_CHECK} Dry Run: ${params.DRY_RUN} """ @@ -99,17 +102,17 @@ pipeline { stage('Prepare Rollback') { steps { script { - echo "🔄 Preparing rollback to: ${params.TARGET_VERSION}" + echo "🔄 Preparing rollback to: ${env.TARGET_VERSION_CLEAN}" if (params.ROLLBACK_METHOD == 'IMAGE_TAG') { - env.TARGET_IMAGE = "${DOCKER_REGISTRY}/${DOCKER_REPO}/${APP_NAME}:${params.TARGET_VERSION}" + env.TARGET_IMAGE = "${DOCKER_REGISTRY}/${DOCKER_REPO}/${APP_NAME}:${env.TARGET_VERSION_CLEAN}" sh """ echo "Target image: ${env.TARGET_IMAGE}" """ } else if (params.ROLLBACK_METHOD == 'REVISION_NUMBER') { - env.REVISION = params.TARGET_VERSION + env.REVISION = env.TARGET_VERSION_CLEAN sh """ echo "Rolling back to revision: ${env.REVISION}" @@ -120,7 +123,7 @@ pipeline { """ } else if (params.ROLLBACK_METHOD == 'GIT_COMMIT') { - env.GIT_SHA = params.TARGET_VERSION + env.GIT_SHA = env.TARGET_VERSION_CLEAN echo "Rolling back to git commit: ${env.GIT_SHA}" } @@ -161,7 +164,7 @@ pipeline { sed -i 's|image: .*|image: ${env.TARGET_IMAGE}|' apps/demo-nginx/deployment.yaml git add apps/demo-nginx/deployment.yaml - git commit -m "rollback(demo-nginx): Manual rollback to ${params.TARGET_VERSION}" || echo "No changes" + git commit -m "rollback(demo-nginx): Manual rollback to ${env.TARGET_VERSION_CLEAN}" || echo "No changes" git push origin main """ } @@ -299,7 +302,7 @@ pipeline { This is what would happen: Method: ${params.ROLLBACK_METHOD} - Target: ${params.TARGET_VERSION} + Target: ${env.TARGET_VERSION_CLEAN} Steps that would be executed: 1. Update deployment to target version @@ -326,7 +329,7 @@ pipeline { Application: ${APP_NAME} Container: ${CONTAINER_NAME} Method: ${params.ROLLBACK_METHOD} - Target: ${params.TARGET_VERSION} + Target: ${env.TARGET_VERSION_CLEAN} Namespace: ${NAMESPACE} The application has been rolled back successfully! ✨