fix(rollback): Auto-trim whitespace from TARGET_VERSION input
This commit is contained in:
@@ -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! ✨
|
||||
|
||||
Reference in New Issue
Block a user