fix: fallback deploy image transfer
This commit is contained in:
parent
893348b7e2
commit
8280124681
@ -407,6 +407,16 @@ fi
|
||||
|
||||
if [ "$SKIP_DEPLOY" != "1" ]; then
|
||||
start_remote_step "Deploy on Production Server"
|
||||
log "Ensuring production server can access image $REGISTRY_COMMIT"
|
||||
if ssh -o StrictHostKeyChecking=no "$PROD_SERVER_USER@$PROD_SERVER_IP" "docker pull '$REGISTRY_COMMIT'" >/tmp/git-deploy-prod-pull.log 2>&1; then
|
||||
ok "Production server pulled image from registry"
|
||||
else
|
||||
warn "Production server could not pull image directly; streaming image from build server"
|
||||
cat /tmp/git-deploy-prod-pull.log >&2 || true
|
||||
docker save "$REGISTRY_COMMIT" | ssh -o StrictHostKeyChecking=no "$PROD_SERVER_USER@$PROD_SERVER_IP" "docker load"
|
||||
ok "Image loaded on production server via SSH stream"
|
||||
fi
|
||||
|
||||
PROD_PAYLOAD="$(cat <<'PROD_SCRIPT'
|
||||
set -Eeuo pipefail
|
||||
|
||||
@ -459,8 +469,12 @@ require_file "$ENV_FILE_PATH"
|
||||
[ -d "$UPLOADS_MOUNT" ] || fail "Uploads mount does not exist: $UPLOADS_MOUNT"
|
||||
docker network inspect "$NETWORK_NAME" >/dev/null 2>&1 || fail "Docker network missing: $NETWORK_NAME"
|
||||
|
||||
log "Pulling image $REGISTRY_COMMIT"
|
||||
docker pull "$REGISTRY_COMMIT"
|
||||
log "Checking image $REGISTRY_COMMIT"
|
||||
if docker image inspect "$REGISTRY_COMMIT" >/dev/null 2>&1; then
|
||||
ok "Image already available on production server"
|
||||
else
|
||||
docker pull "$REGISTRY_COMMIT"
|
||||
fi
|
||||
|
||||
OLD_IMAGE="$(docker inspect -f '{{.Config.Image}}' "$CONTAINER_NAME" 2>/dev/null || true)"
|
||||
if [ -n "$OLD_IMAGE" ]; then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user