fix(ci): add diagnostic output on deployment failure
Show pod status, events, describe, and logs when k8s rollout fails instead of just timing out with no context. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
+23
-1
@@ -268,7 +268,29 @@ steps:
|
|||||||
-n default
|
-n default
|
||||||
|
|
||||||
# Wait for rollout to complete
|
# Wait for rollout to complete
|
||||||
kubectl rollout status deployment/paperless-mcp -n default --timeout=120s
|
if ! kubectl rollout status deployment/paperless-mcp -n default --timeout=120s; then
|
||||||
|
echo ""
|
||||||
|
echo "========== DEPLOYMENT FAILED =========="
|
||||||
|
echo ""
|
||||||
|
echo "=== Pod Status ==="
|
||||||
|
kubectl get pods -n default -l app=paperless-mcp
|
||||||
|
echo ""
|
||||||
|
echo "=== Recent Events ==="
|
||||||
|
kubectl get events -n default --sort-by='.lastTimestamp' \
|
||||||
|
--field-selector involvedObject.kind=Pod 2>/dev/null | grep paperless-mcp | tail -10
|
||||||
|
echo ""
|
||||||
|
echo "=== Pod Describe (problematic pods) ==="
|
||||||
|
for pod in $(kubectl get pods -n default -l app=paperless-mcp -o jsonpath='{.items[?(@.status.phase!="Running")].metadata.name}'); do
|
||||||
|
echo "--- $pod ---"
|
||||||
|
kubectl describe pod "$pod" -n default | tail -20
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
echo "=== Container Logs ==="
|
||||||
|
kubectl logs -n default -l app=paperless-mcp --tail=30 --all-containers 2>/dev/null || echo "No logs available"
|
||||||
|
echo ""
|
||||||
|
echo "========================================"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Deployment complete!"
|
echo "Deployment complete!"
|
||||||
depends_on: [docker, release]
|
depends_on: [docker, release]
|
||||||
|
|||||||
Reference in New Issue
Block a user