From b9e2a806360288be85c510d3d2fc90f9366ab722 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Mon, 3 Nov 2025 07:20:32 +0800 Subject: [PATCH] update deploy script --- Makefile | 8 ++------ scripts/deploy.sh | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) create mode 100755 scripts/deploy.sh diff --git a/Makefile b/Makefile index 3dc3c3c..e20688b 100644 --- a/Makefile +++ b/Makefile @@ -76,14 +76,10 @@ build/%: % cp -a $^ $@ deploy-api-dev: - curl -X POST https://euphon-alert-23358.famzheng.workers.dev/ -d 'Deploying Emblem API to dev: $(IMAGE)' - kubectl --kubeconfig deploy/kubeconfig.dev set image deploy api emblem=$(IMAGE) - kubectl --kubeconfig deploy/kubeconfig.dev rollout status --timeout=1h deploy api + ./scripts/deploy.sh deploy/kubeconfig.dev $(IMAGE) deploy-api-prod: - curl -X POST https://euphon-alert-23358.famzheng.workers.dev/ -d 'Deploying Emblem API to prod: $(IMAGE)' - kubectl --kubeconfig deploy/kubeconfig.themblem set image deploy api emblem=$(IMAGE) - kubectl --kubeconfig deploy/kubeconfig.themblem rollout status --timeout=1h deploy api + ./scripts/deploy.sh deploy/kubeconfig.themblem $(IMAGE) test: FORCE cd api; ./manage.py migrate && ./manage.py test tests diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100755 index 0000000..64395e9 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,21 @@ +#!/bin/bash +set -e + +KUBECONFIG=$1 +IMAGE=$2 + +if [ -z "$KUBECONFIG" ] || [ -z "$IMAGE" ]; then + echo "Usage: $0 " + exit 1 +fi + +OLD_IMAGE=$(kubectl --kubeconfig $KUBECONFIG get deploy api -o jsonpath='{.spec.template.spec.containers[0].image}' 2>/dev/null) +if [ -z "$OLD_IMAGE" ]; then + echo "Error: Failed to get old image" + exit 1 +fi + +curl -X POST https://euphon-alert-23358.famzheng.workers.dev/ -d "Deploying Emblem API with $KUBECONFIG: $OLD_IMAGE -> $IMAGE" + +kubectl --kubeconfig $KUBECONFIG set image deploy api emblem=$IMAGE +kubectl --kubeconfig $KUBECONFIG rollout status --timeout=1h deploy api \ No newline at end of file