diff --git a/deploy/deploy.sh b/deploy/deploy.sh index 866bdee..fcec655 100755 --- a/deploy/deploy.sh +++ b/deploy/deploy.sh @@ -3,7 +3,6 @@ set -euo pipefail HOST="${1:-}" DEST="${2:-}" BUILD_DIR="public" -ssh -o StrictHostKeyChecking=no "$HOST" "mkdir -p '$DEST/.release_tmp'" -tar -cz -C "$BUILD_DIR" . | ssh -o StrictHostKeyChecking=no "$HOST" "tar -xz -C '$DEST/.release_tmp'" -ssh -o StrictHostKeyChecking=no "$HOST" "bash -lc 'shopt -s dotglob nullglob; rm -rf \"$DEST\"/* \"$DEST\"/.[!.]* \"$DEST\"/..?*; mv \"$DEST/.release_tmp\"/* \"$DEST\"/; rmdir \"$DEST/.release_tmp\"'" - +TMP="$(ssh -o StrictHostKeyChecking=no "$HOST" "mktemp -d")" +tar -cz -C "$BUILD_DIR" . | ssh -o StrictHostKeyChecking=no "$HOST" "tar -xz -C '$TMP'" +ssh -o StrictHostKeyChecking=no "$HOST" "bash -lc 'shopt -s dotglob nullglob; mkdir -p \"$DEST\"; rm -rf \"$DEST\"/* \"$DEST\"/.[!.]* \"$DEST\"/..?*; mv \"$TMP\"/* \"$DEST\"/; rmdir \"$TMP\"'"