Skip to content

Commit a559f0a

Browse files
committed
feature: Create helm_rollback.sh
1 parent 6e4fe5f commit a559f0a

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

scripts/helm_rollback.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
export RELEASE=$(echo "${HELM_RELEASE_NAME:0:36}" | sed -E 's/-+$//')
4+
5+
FAILED=$(helm list --failed -n $KUBE_NAMESPACE | grep ^${RELEASE}\\s | wc -l )
6+
PENDING=$(helm list --pending -n $KUBE_NAMESPACE | grep ^${RELEASE}\\s | wc -l)
7+
8+
if [ "$PENDING" -gt 0 ]; then
9+
echo "Pending release found."
10+
helm list --pending -n $KUBE_NAMESPACE
11+
echo "Waiting for 15 minutes ..."
12+
for i in $(seq 1 15); do
13+
sleep 60
14+
echo "Still wating for $i minutes"
15+
PENDING=$(helm list --pending -n $KUBE_NAMESPACE | grep ^${RELEASE}\\s | wc -l)
16+
if [ "$PENDING" -eq 0 ]; then
17+
break
18+
fi
19+
done
20+
fi
21+
22+
FAILED=$(helm list --failed -n $KUBE_NAMESPACE | grep ^${RELEASE}\\s | wc -l )
23+
PENDING=$(helm list --pending -n $KUBE_NAMESPACE | grep ^${RELEASE}\\s | wc -l)
24+
25+
if [ "$PENDING" -gt 0 -o "$FAILED" -gt 0 ]; then
26+
echo "Pending or failed release found."
27+
helm list --failed --pending -n $KUBE_NAMESPACE
28+
export LAST=$(helm list --failed --pending -n $KUBE_NAMESPACE | grep ^${RELEASE}\\s | awk '{print $3-1}')
29+
echo "Rolling back to ${LAST}..."
30+
helm rollback $RELEASE $LAST -n $KUBE_NAMESPACE
31+
else
32+
echo "No pending/failed release, go ahead."
33+
fi

0 commit comments

Comments
 (0)