fix(rollback): Auto-trim whitespace from TARGET_VERSION input

This commit is contained in:
Claude AI
2026-01-06 08:21:24 +00:00
parent 66e5db0e9a
commit 3f2e4ad90f

View File

@@ -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! ✨