Revert "Update apps/demo-nginx/Jenkinsfile"
This reverts commit 583f382208.
This commit is contained in:
51
apps/demo-nginx/Jenkinsfile
vendored
51
apps/demo-nginx/Jenkinsfile
vendored
@@ -275,21 +275,12 @@ EOF
|
||||
git config user.email "jenkins@thedevops.dev"
|
||||
|
||||
# Save current commit for rollback
|
||||
sed -i s|image: .*|image: docker.io/vladcrypto/demo-nginx:main-${BUILD_NUMBER}| apps/demo-nginx/deployment.yaml
|
||||
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
|
||||
git add apps/demo-nginx/deployment.yaml
|
||||
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 commit -m "chore(demo-nginx): Update image to ${IMAGE_TAG}" || echo "No changes"
|
||||
git push origin main
|
||||
|
||||
echo "📌 GitOps commit pushed: ${env.GITOPS_COMMIT}"
|
||||
|
||||
"""
|
||||
}
|
||||
echo "✅ Manifests updated!"
|
||||
@@ -300,12 +291,12 @@ EOF
|
||||
stage('Wait for ArgoCD Sync') {
|
||||
steps {
|
||||
script {
|
||||
if (!env.GITOPS_COMMIT) {
|
||||
error("❌ GITOPS_COMMIT is not set")
|
||||
}
|
||||
echo "⏳ Waiting for ArgoCD to apply Git revision..."
|
||||
|
||||
def expectedRevision = env.GITOPS_COMMIT
|
||||
echo "⏳ Waiting for ArgoCD to apply GitOps commit ${expectedRevision}"
|
||||
def expectedRevision = sh(
|
||||
script: "git rev-parse HEAD",
|
||||
returnStdout: true
|
||||
).trim()
|
||||
|
||||
for (int i = 1; i <= 12; i++) {
|
||||
def argoRevision = sh(
|
||||
@@ -318,23 +309,37 @@ EOF
|
||||
returnStdout: true
|
||||
).trim()
|
||||
|
||||
echo "Expected GitOps revision : ${expectedRevision}"
|
||||
echo "ArgoCD applied revision : ${argoRevision}"
|
||||
echo "ArgoCD sync status : ${syncStatus}"
|
||||
echo "Expected Git revision : ${expectedRevision}"
|
||||
echo "ArgoCD applied revision: ${argoRevision}"
|
||||
echo "ArgoCD sync status : ${syncStatus}"
|
||||
|
||||
if (syncStatus == "Synced" && argoRevision == expectedRevision) {
|
||||
echo "✅ ArgoCD successfully applied GitOps commit"
|
||||
echo "✅ ArgoCD successfully applied Git revision"
|
||||
return
|
||||
}
|
||||
|
||||
sleep 10
|
||||
}
|
||||
|
||||
error("❌ ArgoCD did not apply expected GitOps revision in time")
|
||||
error("❌ ArgoCD did not apply expected Git 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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user