-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpush-image.sh
More file actions
40 lines (30 loc) · 1.1 KB
/
push-image.sh
File metadata and controls
40 lines (30 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env bash
set -euo pipefail
DOCKERHUB_USER=${1:?"Usage: $0 <dockerhub-username> [tag]"}
TAG=${2:-latest}
LOCAL_IMAGE="csla-mcp-server:${TAG}"
REMOTE_IMAGE="${DOCKERHUB_USER}/csla-mcp-server:${TAG}"
if ! docker image inspect "${LOCAL_IMAGE}" >/dev/null 2>&1; then
echo "Local image '${LOCAL_IMAGE}' not found. Build it first with ./build-image.sh"
exit 1
fi
echo "Tagging ${LOCAL_IMAGE} -> ${REMOTE_IMAGE}"
docker tag "${LOCAL_IMAGE}" "${REMOTE_IMAGE}"
echo "Pushing ${REMOTE_IMAGE} to Docker Hub (ensure you've run 'docker login')"
docker push "${REMOTE_IMAGE}"
echo "Pushed image: ${REMOTE_IMAGE}"
# Brief delay to allow Docker Hub to propagate the image
echo "Waiting for Docker Hub propagation..."
sleep 5
echo "Triggering Azure Web App to pull new image..."
az webapp config container set \
--name csla-mcp-server \
--resource-group csla-mcp \
--container-image-name "${REMOTE_IMAGE}" \
--output none
echo "Restarting Azure Web App to ensure fresh pull..."
az webapp restart \
--name csla-mcp-server \
--resource-group csla-mcp \
--output none
echo "Deployment triggered successfully"