Adding initial GitHub Actions
This commit is contained in:
37
scripts/wait-deployment.sh
Executable file
37
scripts/wait-deployment.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
set +e
|
||||
if [ "$1" == "" ]; then
|
||||
echo "Deployment name required"
|
||||
exit 2
|
||||
fi
|
||||
DEPLOYMENT=$1
|
||||
if [ "$2" != "" ]; then
|
||||
NAMESPACE="--namespace $2"
|
||||
else
|
||||
NAMESPACE=
|
||||
fi
|
||||
echo "Checking deployment $DEPLOYMENT"
|
||||
kubectl rollout status deployment "$DEPLOYMENT" $NAMESPACE
|
||||
REPLICAS=$(kubectl get deployment "$DEPLOYMENT" $NAMESPACE --output json | jq '.status.readyReplicas')
|
||||
echo "Deployment $DEPLOYMENT: Replicas: $REPLICAS"
|
||||
RETRIES=40
|
||||
while [[ "$REPLICAS" == "" ]] || [[ $REPLICAS -eq 0 ]]; do
|
||||
STATUS=$(kubectl get deployment "$DEPLOYMENT" $NAMESPACE --output json | jq '.status')
|
||||
echo "Waiting for $DEPLOYMENT Status: $STATUS"
|
||||
sleep 15
|
||||
REPLICAS=$(kubectl get deployment "$DEPLOYMENT" $NAMESPACE --output json | jq '.status.readyReplicas')
|
||||
RC=$?
|
||||
echo "Deployment $DEPLOYMENT: Replicas: $REPLICAS"
|
||||
if [ "$RC" != "0" ]; then
|
||||
STATUS=$(kubectl get deployment "$DEPLOYMENT" $NAMESPACE --output json | jq '.status')
|
||||
echo "Error checking deployment $DEPLOYMENT $RC: $STATUS"
|
||||
exit $RC
|
||||
fi
|
||||
if (( RETRIES <= 0 )); then
|
||||
STATUS=$(kubectl get deployment "$DEPLOYMENT" $NAMESPACE --output json)
|
||||
echo "Timeout checking deployment $DEPLOYMENT in $NAMESPACE: $STATUS"
|
||||
exit 1
|
||||
fi
|
||||
RETRIES=$(( RETRIES - 1 ))
|
||||
done
|
||||
echo "Deployment $DEPLOYMENT done"
|
||||
Reference in New Issue
Block a user