Skip to content

Commit

Permalink
CICID: Limit Dev Deployments (#746)
Browse files Browse the repository at this point in the history
* n deployment limit added to cd-dev.yaml
* remove dependency on build-push
* attempt no deployment fix
* debugging
* fixed grep returning 1
* Update to use helm list and helm uninstall
* simplify
  • Loading branch information
klhftco authored Dec 4, 2024
1 parent d298622 commit dc9c718
Showing 1 changed file with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion .github/workflows/cd-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
image_tag: ${{ needs.compute-sha.outputs.sha_short }}
chart_ver: 0.1.0-dev.${{ needs.compute-sha.outputs.sha_short }}
secrets: inherit

deploy:
name: SSH and Deploy
needs: [compute-sha, build-push]
Expand All @@ -59,3 +59,37 @@ jobs:
mongoUri: mongodb://bt-dev-mongo-mongodb.bt.svc.cluster.local:27017/bt
redisUri: redis://bt-dev-redis-master.bt.svc.cluster.local:6379
secrets: inherit

limit-deploy:
name: SSH and Limit Deployments
needs: [deploy]
runs-on: ubuntu-latest
steps:
- name: SSH and Check Deployments
uses: appleboy/[email protected]
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
script: |
set -e # Exit immediately if a command fails
# Get bt-dev-app- deployments sorted by creation timestamp
deployments=$(helm list \
--namespace=bt \
--date \
--short | grep '^bt-dev-app') || true
deployment_count=$(echo "$deployments" | wc -l)
# Check if deployment count > 8
if [ "$deployment_count" -gt 8 ]; then
echo "Too many deployments. Deleting the oldest deployment."
# Get oldest deployment from first line of deployments
oldest_deployment=$(echo "$deployments" | head -n 1)
# Uninstall deployment
helm uninstall "${oldest_deployment}"
else
echo "Deployment count is <= 8."
fi

0 comments on commit dc9c718

Please sign in to comment.