From 583f382208d01ad65d2e157786d72eb53abc6f04 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 8 Jan 2026 11:22:50 +0000 Subject: [PATCH] Update apps/demo-nginx/Jenkinsfile --- apps/demo-nginx/Jenkinsfile | 51 +++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/apps/demo-nginx/Jenkinsfile b/apps/demo-nginx/Jenkinsfile index 8e66fc8..1d6454a 100644 --- a/apps/demo-nginx/Jenkinsfile +++ b/apps/demo-nginx/Jenkinsfile @@ -275,12 +275,21 @@ EOF git config user.email "jenkins@thedevops.dev" # Save current commit for rollback - git rev-parse HEAD > /tmp/previous_commit_${BUILD_NUMBER}.txt - - sed -i 's|image: .*|image: ${DOCKER_REGISTRY}/${DOCKER_REPO}/${APP_NAME}:${IMAGE_TAG}|' apps/demo-nginx/deployment.yaml + sed -i s|image: .*|image: docker.io/vladcrypto/demo-nginx:main-${BUILD_NUMBER}| apps/demo-nginx/deployment.yaml git add apps/demo-nginx/deployment.yaml - git commit -m "chore(demo-nginx): Update image to ${IMAGE_TAG}" || echo "No changes" + git commit -m "chore(demo-nginx): Update image to main-${BUILD_NUMBER}" + + def gitopsCommit = sh( + script: "git rev-parse HEAD", + returnStdout: true + ).trim() + + env.GITOPS_COMMIT = gitopsCommit + git push origin main + + echo "📌 GitOps commit pushed: ${env.GITOPS_COMMIT}" + """ } echo "✅ Manifests updated!" @@ -291,12 +300,12 @@ EOF stage('Wait for ArgoCD Sync') { steps { script { - echo "⏳ Waiting for ArgoCD to apply Git revision..." + if (!env.GITOPS_COMMIT) { + error("❌ GITOPS_COMMIT is not set") + } - def expectedRevision = sh( - script: "git rev-parse HEAD", - returnStdout: true - ).trim() + def expectedRevision = env.GITOPS_COMMIT + echo "⏳ Waiting for ArgoCD to apply GitOps commit ${expectedRevision}" for (int i = 1; i <= 12; i++) { def argoRevision = sh( @@ -309,37 +318,23 @@ EOF returnStdout: true ).trim() - echo "Expected Git revision : ${expectedRevision}" - echo "ArgoCD applied revision: ${argoRevision}" - echo "ArgoCD sync status : ${syncStatus}" + echo "Expected GitOps revision : ${expectedRevision}" + echo "ArgoCD applied revision : ${argoRevision}" + echo "ArgoCD sync status : ${syncStatus}" if (syncStatus == "Synced" && argoRevision == expectedRevision) { - echo "✅ ArgoCD successfully applied Git revision" + echo "✅ ArgoCD successfully applied GitOps commit" return } sleep 10 } - error("❌ ArgoCD did not apply expected Git revision in time") + error("❌ ArgoCD did not apply expected GitOps revision in time") } } } -stage('Wait for Deployment Rollout') { - steps { - script { - echo "⏳ Waiting for Kubernetes rollout to complete..." - sh """ - kubectl rollout status deployment/demo-nginx \ - -n demo-app \ - --timeout=${DEPLOYMENT_TIMEOUT} - """ - - echo "✅ Deployment rollout completed successfully" - } - } -}