Improve Docker Compose rollback
CI / smoke-test (push) Successful in 56s

This commit is contained in:
Mikhail Lobanov
2026-10-15 12:46:50 +03:00
parent 222ae06b87
commit 42bb0db99b
+8 -21
View File
@@ -75,7 +75,7 @@ jobs:
run: |
set -eu
OLD_IMAGE=$(docker inspect --format='{{.Image}}' devops-platform)
OLD_IMAGE=$(docker inspect --format='{{.Config.Image}}' devops-platform)
docker pull "$IMAGE"
docker stop devops-platform
@@ -85,16 +85,10 @@ jobs:
echo "New container started"
else
echo "Failed to start new container; restoring old image"
docker run -d \
--name devops-platform \
--restart unless-stopped \
--read-only \
--cap-drop=ALL \
--security-opt=no-new-privileges:true \
--memory=256m \
--cpus=0.5 \
-p 127.0.0.1:8000:8000 \
"$OLD_IMAGE"
docker rm -f devops-platform || true
if ! IMAGE="$OLD_IMAGE" docker compose up -d --no-build app; then
echo "ERROR: rollback failed; manual recovery required"
fi
exit 1
fi
@@ -115,15 +109,8 @@ jobs:
echo "Health check failed; rolling back"
docker stop devops-platform || true
docker rm devops-platform || true
docker run -d \
--name devops-platform \
--restart unless-stopped \
--read-only \
--cap-drop=ALL \
--security-opt=no-new-privileges:true \
--memory=256m \
--cpus=0.5 \
-p 127.0.0.1:8000:8000 \
"$OLD_IMAGE"
if ! IMAGE="$OLD_IMAGE" docker compose up -d --no-build app; then
echo "ERROR: rollback failed; manual recovery required"
fi
exit 1
fi